我是姜戈人的新手。我读了这么多Django教程,但在所有教程中,它们都管理着与命名视图和模型相同的文件中的所有视图和模型。有任何标准的方法,所以它可以适当地管理。
可以使用数据库?管理调用视图、urls和模型。
如何在企业级管理这些东西.
发布于 2020-05-14 11:11:46
您可以创建一个名为views的包。然后,您可以为每个视图创建一个单独的文件,并将每个视图导入到__init__.py of views包中。这样做,您仍然可以像以前一样导入视图。
my_app.
├── views
├── __init__.py
├── my_view.py然后在my_view.py中:
def my_view(request):
pass在__init__.py中:
from my_app.views.my_view import my_view在所有其他文件中,您可以像这样导入my_view:
from my_app.views import my_view模型、URL、.也可以这样做。
发布于 2020-05-14 20:44:44
根据我在不同项目和团队的经验,我们是这样做的:
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中
from .view_a import FooListView
from .view_b import BarDetailView当然,您也可以在__init__文件中创建类。您在其中写入的所有内容都可以直接从包的名称访问,而不是从视图的文件名访问。
不要忘记继续在urls.py中对您的API进行版本化。
# api/urls.py
from django.urls import path, include
urlpatterns = [
path('v1/', include('application.api.v1.urls')),
path('v2/', include('application.api.v2.urls')),
...
]# 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()),
...
]https://stackoverflow.com/questions/61747252
复制相似问题