Bra*_*ant 22 django django-views
这实际上只是一个"最佳实践"问题......
我发现在开发应用程序时,我经常会得到很多观点.
通常的做法是将这些视图分解为多个视图文件吗?换句话说......而不仅仅是拥有views.py,是否常见于views_1.py,views_2.py,views_3.py(但更合适,可能按类别命名)?
res*_*dsk 33
views.py您的大多数代码可能希望您的视图可以访问myapp.views.viewname.我看到人们分解他们的观点但保留这个python名称的一种方法是创建一个views/目录. views/__init__.py将有:
from .foo_views import *
from .bar_views import *
from .baz_views import *
Run Code Online (Sandbox Code Playgroud)
然后,在views/foo_views.py,放,:
def foo_detail(request, ...):
# your code here
def foo_list(request, ...):
# your code here
def your_other_view(...):
# ...
Run Code Online (Sandbox Code Playgroud)
所以你把所有东西从views.py这个目录中移动到文件中,制作__init__.py,删除views.py,然后你就完成了.
然后,当你import myapp.views,myapp.views.foo_detail将参考你定义的功能views/foo_views.py.
这个策略也应该可以正常使用admin.py等等.但是如果你想这样拆分models.py,你需要添加app_label = 'your_app_name'到class Meta:所有模型中.例如,unicorn_app/models/unicorns.py可以有这样的条目:
class Unicorn(models.Model):
description = models.CharField(max_length=80)
class Meta:
app_label = 'unicorn_app'
Run Code Online (Sandbox Code Playgroud)
(否则,Django想象该Unicorn模型是名为"models"的Django应用程序的一部分,这会混淆管理站点.当前通过1.6 - 即将发布的1.7版本将删除此要求.)
| 归档时间: |
|
| 查看次数: |
5042 次 |
| 最近记录: |