为什么我们在app目录中创建polls / urls.py模块,即使我们可以在项目的mysite / urls.py中完成整个事情?

时间:2018-02-11 19:01:19

标签: django

我的民意调查/ urls.py

中的代码

来自django.urls导入路径 来自。导入视图

urlpatterns = [
path('', views.index),   # name='whatever_name'

path('<int:question_id>/', views.detail, name='detail'),

path('<int:question_id>/results', views.results, name='result'),

path('<int:question_id>/vote', views.vote, name= 'vote'),

然后我删除文件并在mysite / urls.py中添加所有内容,这是根网址模块,它工作正常

from django.contrib import admin
from django.urls import path,include
from polls import views

urlpatterns = [
path('polls/', views.index, name='index'),
path('polls/<int:question_id>/', views.detail, name='detail'),
path('polls/<int:question_id>/results/', views.results, name='result'),
path('polls/<int:question_id>/vote/', views.vote, name= 'vote'),
path('admin/', admin.site.urls),

1 个答案:

答案 0 :(得分:1)

是的,将URL放在根urls.py内工作完全正常。对于具有一个应用程序的简单项目,您可以将URL放在同一个文件中,即项目级urls.py文件,但对于具有多个应用程序的大型项目,建议您创建自包含且独立的应用程序(分离的体系结构)。通过这种方式,您可以更好地管理项目复杂性,轻松交换应用程序,最重要的是,您可以轻松地在其他项目中重复使用您的应用程序,因为该应用程序包含其所有功能(包括网址),甚至可以更好地共享您的应用程序作为包,所以其他开发人员可以使用它们