1. URL 模式語法
URL 模式是定義 URL 與檢視之間對應的運算式。其語法如下:
path("<path_expression>", "<view_function_name>", name="<url_name>")
<path_expression>
:用於匹配 URL 模式的正規表示式。 <view_function_name>
:要呼叫的視圖函數的名稱。 <url_name>
(可選):為該模式指派一個名稱,以便在其他地方引用。 2. URL 名稱空間
URL 名稱空間可讓您為不同的應用程式或模組中的 URL 模式指派唯一的名稱。這對於避免名稱衝突和確保 URL 可重複使用至關重要。
app_name = "my_app_name" path(...), path(...),
3. URL 反向解析
URL 反向解析是根據其名稱產生 URL 的過程。這對於在模板或視圖函數中動態建立 URL 非常有用。
from Django.urls import reverse my_url = reverse("my_app_name:my_view_name")
4. 處理動態 URL
DjanGo 可讓您處理包含動態部分的 URL。例如,您可以建立一個 URL 模式來處理特定 ID 的 blog post。
path("post/<int:post_id>/", "<view_function_name>", name="post_detail"),
5. 加字首和字尾
有時您需要為應用程式中的所有 URL 模式添加前綴或後綴。這可以使用 include()
函數輕鬆實現:
urlpatterns = [ path("api/", include("my_api_app.urls")), path("admin/", include(admin.site.urls)), ]
6. 處理靜態檔案
Django 提供了 static()
函數來處理靜態檔案。這可以將靜態檔案與應用程式程式碼分開離開來,從而提高效率和可維護性。
urlpatterns = [ path("static/", static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)), ]
7. 自訂 404 和 500 錯誤頁面
您可以建立自訂頁面來處理 404(未找到)和 500(伺服器端錯誤)錯誤。這有助於提供更好的用戶體驗並調試問題。
handler404 = "my_app_name.views.handler404" handler500 = "my_app_name.views.handler500"
8. 使用正規表示式
Django 支援在 URL 模式中使用正規表示式。這允許您創建更靈活和強大的 URL 匹配器。
path("^category/(?P<category_name>[w-]+)/$", "<view_function_name>", name="category_detail"),
9. 偵錯 URL 模式
Django 提供了偵錯工具來幫助您識別 URL 配置錯誤。這可以透過使用 print_urls()
函數來實現。
from django.urls import print_urls print_urls()
10. 最佳實踐
以上是Python Django URL 設定秘技:通往動態 web 應用的大門的詳細內容。更多資訊請關注PHP中文網其他相關文章!