首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django中大规模地管理视图、urls和模型?

如何在Django中大规模地管理视图、urls和模型?
EN

Stack Overflow用户
提问于 2020-05-12 08:36:17
回答 2查看 661关注 0票数 3

我是姜戈人的新手。我读了这么多Django教程,但在所有教程中,它们都管理着与命名视图和模型相同的文件中的所有视图和模型。有任何标准的方法,所以它可以适当地管理。

可以使用数据库?管理调用视图、urls和模型。

如何在企业级管理这些东西.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-14 11:11:46

您可以创建一个名为views的包。然后,您可以为每个视图创建一个单独的文件,并将每个视图导入到__init__.py of views包中。这样做,您仍然可以像以前一样导入视图。

代码语言:javascript
复制
my_app.
├── views
    ├── __init__.py
    ├── my_view.py

然后在my_view.py中:

代码语言:javascript
复制
def my_view(request):
    pass

在__init__.py中:

代码语言:javascript
复制
from my_app.views.my_view import my_view

在所有其他文件中,您可以像这样导入my_view:

代码语言:javascript
复制
from my_app.views import my_view

模型、URL、.也可以这样做。

票数 2
EN

Stack Overflow用户

发布于 2020-05-14 20:44:44

根据我在不同项目和团队的经验,我们是这样做的:

代码语言:javascript
复制
application
├── api
│   ├── __init__.py
│   ├── urls.py
│   └── v1
│       ├── __init__.py
│       ├── view_a.py
│       ├── ...
│       ├── view_z.py
│       └── urls.py
├── apps.py
...

我将我的视图保存在不同的版本中,这样我们就可以在API和视图中支持向后兼容。您必须创建一个 Package (一个包含__init__文件的目录);只需导入您想要从该包导出的所有内容。

例如,在application/api/v1/__init__.py

代码语言:javascript
复制
from .view_a import FooListView
from .view_b import BarDetailView

当然,您也可以在__init__文件中创建类。您在其中写入的所有内容都可以直接从包的名称访问,而不是从视图的文件名访问。

不要忘记继续在urls.py中对您的API进行版本化。

代码语言:javascript
复制
# api/urls.py
from django.urls import path, include

urlpatterns = [
    path('v1/', include('application.api.v1.urls')),
    path('v2/', include('application.api.v2.urls')),
    ...
]
代码语言:javascript
复制
# api/v1/urls.py
from django.urls import path

from . import *  # this imports every view classes from __init__.py file
                 # Or you can just import directly from views instead
                 # of having an __init__ file:
                 # from .view_a import FooListView

urlpatterns = [
    path('foo/', FooListView.as_view()),
    ...
]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61747252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档