簡體   English   中英

Django Home url 設置為文件夾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM