python 3.url了解與基礎使用


URL使用

視圖:

我們運行項目在網頁上查看到的我們稱之為視圖
視圖一般在views.py下編輯
它的第一個參數永遠都是request,通過它請求一些數據返回給網頁給我們查看。
視圖函數的返回結果必須是HttpResponseBase對象或者子類的對象。

from django.http import HttpResponse
def xxx(request):
    #通過return返回 HttpResponseBase
    return HttpResponse("通過request請求返回的值!")

映射

寫完視圖后需要與Url進行映射好比http://127.0.0.1:8000/id網站后面輸入的id即為url,django就會從url.py進行尋找視圖

#需要使用django.urls.path函數進行包裹映射和視圖
from django.urls import path
#導入需要映射的文件
from app import views
#我們把這些匹配放在urlpatterns變量中,他是django規定的不用深究
urlpatterns = [
    #第一個參數為url,第二個為需要的視圖函數
    path('id/',views.xxx),
]

這樣訪問http://127.0.0.1:8000/id的時候就會看到設置的視圖

在url中添加參數

有時候url需要一些動態調整,127.0.0.1/p/1 比如博客某文章的id就是1,那么它是/p/<id>這樣的動態的

path('book/',views.book_list),
path('book/<book_id>/',views.book_detail)

而在views中我們可以這樣編寫:

方法①:

def book_detail(request,book_id):
    text = "您輸入的書籍的id是:%s" % book_id
    return HttpResponse(text)

這樣在網頁輸入的url就是它的id,例如127.0.0.1/book/<1>那么會返回您輸入的書籍的id是:<1>

方法②:

通過查詢字符串的方式傳遞一個參數過去。示例代碼如下:

path('book/detail/',views.book_detail)
在views.py中的代碼如下:
def book_detail(request):
    book_id = request.GET.get("id")
    text = "您輸入的書籍id是:%s" % book_id
    return HttpResponse(text)

那么就可以通過/book/detail/?id=1即可將參數傳遞過去。

在URL中包含其他的urls模塊

我們的項目不可能就一個app,那么我們就需要用多個views,要是使用一個url映射會顯得特別混亂,那么我們就需要使用不同的url

不懂include函數的點擊右方鏈接查看→include基本使用文章鏈接

# app/urls.py文件:
#我們需要導入include。幫助我們使用多個url
from django.urls import path,include

urlpatterns = [
    #把需要的`url`放在`include`中,這樣凡是在`book/`里面的url時都會去`book`app下的urls.py中尋找相應的值
    path('book/',include("book.urls"))
]

下一篇介紹path函數的定義及參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM