109-get方式獲取url傳值


url中可以包含一些參數,這些參數可能是被拼湊出來的,也可能是直接手寫進去的。

首先看如何用get的方式,獲取url里的值。

 

1、get方式,例如網址是/?x=1&y=2這種,這里的x和y都是變量

先看views函數,我們設計了兩個不同類型的取值。一個用來組合字符串,另一個用來計算冪(楊冪的冪)

特別說明:

get里面,第一個參數是django默認把變量進行了類似{'name': name}的包裝,所以都是帶引號的變量;

第二個參數是默認值,當沒有進行賦值時,使用默認值;

如果賦值會直接報錯,默認值無效

# 編寫一個函數,嘗試從url里捕獲值,並顯示到一個返回頁面中
# 想能夠處理任意url會比較麻煩,我們假設處理一種限定格式的url
def test_get(request):
    name = request.GET.get('name', 'guest')
    gender = request.GET.get('gender', 'unknown')
    return HttpResponse('%s的性別是:%s' % (name, gender))


# 使用同樣的方式,計算任意次方,a的n次方
def test_power(request):
    a = request.GET.get('a', 0)
    n = request.GET.get('n', 0)
    result = int(a) ** int(n)
    return HttpResponse('%s的%s次方是%d' % (a, n, result))

 

2、按格式書寫url

from django.urls import path
from . import views

urlpatterns = [
    path('test_get/', views.test_get, name='test_get'),
    path('test_power/', views.test_power, name='test_power'),
]

 可以看見,在test_urls.py里的設置沒有任何特殊,只需要指向views的對應函數即可,要做的只是在最后加上?x=x&y=y

 

如果輸入:http://127.0.0.1:8000/test_app/test_get/?name=趙麗穎&gender=女

回車得到頁面,里面顯示為:趙麗穎的性別是:女

 

如果輸入:http://127.0.0.1:8000/test_app/test_power/?a=12&n=4

回車得到頁面,里面顯示為:12的4次方是20736

 


免責聲明!

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



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