gpt4 book ai didi

Django:分解 View

转载 作者:行者123 更新时间:2023-12-03 11:36:12 27 4
gpt4 key购买 nike

这实际上只是一个“最佳实践”问题......

我发现在开发应用程序时,我经常会得到很多 View 。

将这些 View 分解为几个 View 文件是常见的做法吗?换句话说......而不只是有views.py,有views_1.py、views_2.py、views_3.py(但命名更合适,也许是按类别)是否很常见?

最佳答案

拆分 views.py
您的大部分代码可能希望您的 View 可以作为 myapp.views.viewname 访问。 .我看到人们打破他们的观点但保留这个 python 名称的一种方法是创建一个 views/目录。 views/__init__.py将有:

from .foo_views import *
from .bar_views import *
from .baz_views import *

然后,在 views/foo_views.py , 放:
def foo_detail(request, ...):
# your code here

def foo_list(request, ...):
# your code here

def your_other_view(...):
# ...

等等。所以你把所有东西从 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'

(否则,Django 认为 Unicorn 模型是名为“models”的 Django 应用程序的一部分,这会弄乱管理站点。当前到 1.6 - the upcoming 1.7 release will remove this requirement 。)

关于Django:分解 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2675722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com