[英]Django Home url set to folder
我有一個問題,我希望我的地址(無論是本地的還是現場的)指向我的項目應用程序作為我的主頁,但我所做的每一次更改都會破壞其他 URL。 我的主要網站 URL 模式是:
urlpatterns = [
path('admin/', admin.site.urls),
path("projects/", include("projects.urls")),
path("blog/", include("blog.urls")),
]
我試圖將path("project/", include("projects.urls"))
更改為path("", include("projects.urls"))
,這會破壞博客索引。
我的博客有以下模式:
urlpatterns = [
path("", views.blog_index, name="blog_index"),
path("<slug:slug>/", views.blog_detail, name="blog_detail"),
path("<category>/", views.blog_category, name="blog_category"),
]
還有我的項目:
urlpatterns = [
path("", views.project_index, name="project_index"),
path("<slug:slug>/", views.project_detail, name="project_detail"),
path("project/<tag>/", views.project_tag, name="project_tag"),
]
沖突來自 django,不知道兩者之間的區別:
http://example.com/blog
和
http://example.com/(project_slug_called_blog)
因為它們看起來功能相同,只是一個字符串。
您可以顛倒 URL 的順序,以便首先查找博客
urlpatterns = [
path('admin/', admin.site.urls),
path("blog/", include("blog.urls")),
path("", include("projects.urls")),
]
只要項目不被稱為“博客”,這應該可以工作
或者,如果做不到這一點,您可以使項目詳細視圖的 URL 更加明確
path("<slug:slug>/view-details", views.project_detail, name="project_detail"),
我個人會選擇第二個選項,因為它使 URL 更易於閱讀,並且可能是一個更強大的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.