python的views文件有什么用_python – Django:从一个模块导入一个视图比在views.py文件中包含它要慢吗?...

这可能更像是一个关于Python本身如何导入方法的问题,虽然我在表面层面上理解,但我并没有真正深入理解.

一个极其简化的例子可能会让事情更加清晰.在下面两个例子中,执行速度会有明显的差异吗?

例1

# views.py

from app_name.models import *

def add_item(request, name, category):

item = Item(name=name, category=category)

item.save()

return HttpResponseRedirect('/')

例2

# views.py

from app_name.models import *

from app_name.items import add_new_item

def add_item(request, name, category):

item = add_new_item(request, name, category)

return HttpResponseRedirect('/')

# items.py

def add_new_item(request, name, category):

item = Item(name=name, category=category)

item.save()

return item

我应该再次补充说,这是一个极其简化的例子,并不反映实际的现实世界决定.我只是想了解Python的工作原理,以及示例2是否会明显变慢,如果是这样,在什么情况下.

谢谢.

解决方法:

正如其他人已经指出的那样,你的例子不会有任何区别,因为导入只会发生一次.

更重要的是,你应该确保不做例如.函数内部的任何导入,如果它是可以避免的,因为每次执行函数时都会重做这些导入!

如果你想拥有清晰且可维护的代码,那么处理你的导入结构就更为重要了,像app_name.models import *这样的通配符导入是非常邪恶的,你应该避免它!

另见例如.这post!

标签:python,django

来源: https://codeday.me/bug/20190721/1495110.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值