在 Django 中更改 URL 模式,使其不显示应用程序名称
Changing URL pattern in Django so it doesn't show app name
我有一个名为 "projects" 的 folder/app,我想在那里创建一个新站点,比如说,"cheese"。
在项目文件夹中 urls.py 的 urlpatterns 中,我得到了
path('cheese/', views.cheese, name='cheese')
但整个 URL 看起来像 域。co/projects/cheese
我想省略 URL 中的 projects,所以它可能只是 domain.co/cheese
那些 URL- 事情对我来说有点难以理解,而且由于我无法正确命名我的问题,所以我找不到解决方案,尽管我相信一定有一些解决方案。
将 app
放在另一个 app
中的想法有点奇怪,但无论如何,这不会强制内部应用程序的 url 像 <outer_app>/<inner_app>/...
如果您正确设置 url 模式。
基本上,您已经 domain.co/projects/cheese
因为,您将项目的应用 url 包含为:
# main urls.py file for your project
path('projects/', include('projects.urls'))
并且在您项目的 urls 文件中您有:
# projects/urls.py
path('cheese/', include('projects.cheese.urls'))
因此,如果您想将 cheese
url 设置为 domain.co/cheese
,只需将 include
添加到 main url 文件:
# main urls.py file for your project
path('projects/', include('projects.urls'))
path('cheese/', include('projects.cheese.urls'))
我有一个名为 "projects" 的 folder/app,我想在那里创建一个新站点,比如说,"cheese"。 在项目文件夹中 urls.py 的 urlpatterns 中,我得到了
path('cheese/', views.cheese, name='cheese')
但整个 URL 看起来像 域。co/projects/cheese
我想省略 URL 中的 projects,所以它可能只是 domain.co/cheese
那些 URL- 事情对我来说有点难以理解,而且由于我无法正确命名我的问题,所以我找不到解决方案,尽管我相信一定有一些解决方案。
将 app
放在另一个 app
中的想法有点奇怪,但无论如何,这不会强制内部应用程序的 url 像 <outer_app>/<inner_app>/...
如果您正确设置 url 模式。
基本上,您已经 domain.co/projects/cheese
因为,您将项目的应用 url 包含为:
# main urls.py file for your project
path('projects/', include('projects.urls'))
并且在您项目的 urls 文件中您有:
# projects/urls.py
path('cheese/', include('projects.cheese.urls'))
因此,如果您想将 cheese
url 设置为 domain.co/cheese
,只需将 include
添加到 main url 文件:
# main urls.py file for your project
path('projects/', include('projects.urls'))
path('cheese/', include('projects.cheese.urls'))