您好,登錄后才能下訂單哦!
如何理解django中url路由系統,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
對于高質量的Web 應用來說,使用簡潔、優雅的URL 模式是一個非常值得重視的細節。Django 允許你自由地設計你的URL,不受框架束縛。
在Django中,定義URLconf包括正則表達式、視圖兩部分,Django使用正則表達式匹配請求的URL,一旦匹配成功,則調用應用的視圖。
假如我的項目有兩個應用分別是 app01 和 app02, 項目結構如下:
我需要兩個 url 分組來映射兩個app 應用。首先在根目錄下的 django_tutrital2/urls.py 文件寫兩個路由 app01 app02分組:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('app01/', include('app01.urls')),
path('app02/', include('app02.urls')),
]
以【path('app01/', include('app01.urls')),】為例,第一個 app01 是你在瀏覽器上輸入的 url 內容,include 里的 app01 是應用的名稱,指向 app01 應用的 urls.py 文件。django_tutrital2/app01/urls.py 內容:
from django.urls import path, include
from app01.views import index, article, test_url
urlpatterns = [
path('index/', index),
path('article/<str:aid>/', article),
path('test_url/', test_url),
]
以【path('index/', index),】為例,第一個 index 是你在瀏覽器上輸入的 url 內容,后面的index 是views.py 中對應函數名稱,這樣 index 函數對應的url 是 http://127.0.0.1:8000/app01/index/
django_tutrital2/app01/views.py 內容如下:
from django.shortcuts import render, HttpResponse
# Create your views here.
def index(request):
return HttpResponse("這個是首頁--app01")
def article(request, aid):
return HttpResponse('這是第{}篇文章'.format(aid))
def test_url(request):
return HttpResponse('url測試--app01')
瀏覽器輸入對應的url http://127.0.0.1:8000/app01/index/
瀏覽器輸入對應的url http://127.0.0.1:8000/app02/index/
url 部分內容還能被當做參數,比如說要看第5篇文章,以【path('article/<str:aid>/', article),】 為例,完整的 url 是
http://127.0.0.1:8000/app01/article/5/
總的來說 url 就是匹配用戶在瀏覽器輸入的 url ,然后指定由哪個視圖函數處理對應的網絡請求。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。