一段时间以来,我一直在使用Django设计网站,并且还设计了各种网站。 但是在任何新项目开始时都会想到一个问题:
什么是同时创建两者的最佳URLs建筑设计? 逻辑和有意义的网址路径以及可插入应用?
典型示例和问题
我将通过一个实际的例子来解释我的问题。假设我们的项目具有以下功能:
它具有三个应用程序,分别为Shop
,Blog
和Support
。
它有三个URL
部分:
2.1。公开部分:以/
开头。
2.2。消费者小组:以/panel
开头。
2.3。管理员面板:以/administrator
开头。
每个应用程序都有3个视图。例如Shop
具有:public_shop_view
,panel_shop_view
和administrator_shop_view
。
现在,此项目的最佳URL
设计是什么?这个问题的常见解决方案:
解决方案:
project/urls.py
path('', include('Shop.urls', namespce='Shop')),
path('', include('Blog.urls', namespce='Blog')),
path('', include('Support.urls', namespce='Support')),
Shop/urls.py
path('shop/', views.public_shop_view, name='public_shop_view'),
path('panel/shop/', views.panel_shop_view, name='panel_shop_view'),
path('administrator/shop/', views.administrator_shop_view, name='administrator_shop_view'),
Blog/urls.py
path('blog/', views.public_blog_view, name='public_blog_view'),
path('panel/blog/', views.panel_blog_view, name='panel_blog_view'),
path('administrator/blog/', views.administrator_blog_view, name='administrator_shop_view'),
Support/urls.py
path('support/', views.public_support_view, name='public_support_view'),
path('panel/support/', views.panel_support_view, name='panel_support_view'),
path('administrator/support/', views.administrator_support_view, name='administrator_support_view'),
现在,最佳做法是什么?还有其他解决方案吗?
答案 0 :(得分:2)
完全由您自己选择方法...关键是保持我们的代码足够模块化以可重用,这可以在第一种方法中获得,因为每个应用程序都有自己的urls.Py文件,并且可以在其他应用程序中使用只需导入应用程序或模块即可实现项目。...因此,结论1可以使您的应用程序可插入...