中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

django--web框架之獲取客戶端使用GET方法的url參數

發布時間:2020-06-12 19:04:17 來源:網絡 閱讀:893 作者:crystaleone 欄目:開發技術

說明:此django的項目名稱為test3,應用名稱為booktest。

使用的python3.5.2版本,django版本是1.8.2。

所有操作都是在cd test3目錄下進行演示的。


本次演示HTTP使用GET方法,在python中獲取其參數值:可分類為一鍵一值和一鍵多值;

一鍵一值例如:http://192.168.255.70/booktest/getTest2/?a=1&b=2&c=3

一鍵多值例如:http://192.168.255.70/booktest/getTest2/?a=1&a=2&a=3


在應用名稱目錄下編寫視圖函數:

vim booktest/views.py 

from django.shortcuts import render
from django.http import HttpResponse

#展示鏈接的頁面
def getTest1(request):
    return render(request, 'booktest/getTest1.html')
    
#展示接收一鍵一值
def getTest2(request):
    a1 = request.GET['a']
    b1 = request.GET['b']
    c1 = request.GET['c']
    #構造上下文
    context = {'a':a1,'b':b1,'c':c1}
    #向模板中傳遞上下文,并進行渲染
    return render(request, 'booktest/getTest2.html', context)

#展示一鍵多值
def getTest3(request):
    #a1 = request.GET['a'] #并不能取多值,而是取值為最后的參數值;
    #一鍵多值,獲得是是一個列表
    a1 = request.GET.getlist('a')
    context = {'a':a1}
    return render(request, 'booktest/getTest3.html',context)

創建視圖函數中指向的html文件:

與應用名稱booktest同級目錄下,創建模板目錄并在其下創建與應用同名目錄用來存放html模板文件:

mkdir templates/booktest


編寫視圖函數中指定的html模板文件:

vim templates/booktest/getTest1.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://×××w.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Title</title>
</head>
<body>
<h2>展示接收一鍵一值</h2><a href="/booktest/getTest2/?a=1&b=2&c=3">test2</a>
<br>

<h2>展示接收一鍵多值</h2><a href="/booktest/getTest3/?a=1&a=2&a=3">test3</a>
</body>
</html>

注意:

a標簽中的href=/booktest/getTest2與herf=booktest/getTest2,兩者區別是不同的,有根/表示從網站的根目錄下即域名下,如有/表示×××w.magedu.com/booktest;沒有/根,則表示在當前頁面下,是相對于當前頁面路徑下。


vim templates/booktest/getTest2.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://×××w.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Title</title>
</head>
<body>
<h2>展示一鍵一值</h2>
a:{{ a }}
<hr>
b:{{ b }}
<hr>
c:{{ c }}
</body>
</html>

vim templates/booktest/getTest3.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://×××w.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Title</title>
</head>
<body>
<h2>展示一鍵多值</h2>
{{ a }}
</body>
</html>

配置應用的url:

在應用名稱目錄下創建urls.py:

from django.conf.urls import url
from . import views
urlpatterns = [
    url(r'getTest1/$',views.getTest1),
    url(r'getTest2/$',views.getTest2),
    url(r'getTest3/$',views.getTest3),
]

配置主url文件:

在項目名稱test3目錄下,創建應用時,會自動生成一個test3目錄在其中存放的都是全局的配置文件,例如settings.py、usrs.py等:

vim test3/urls.py

...
from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^booktest/',include('booktest.urls',namespace='booktest')),
]
...

在settings.py文件中配置templates模板路徑:

import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
ROOT_URLCONF = 'test3.urls'
TEMPLATES = [
    {
        ...
        'DIRS': [os.path.join(BASE_DIR,'templates')],
        ...
     }
]

啟動web服務器

python manage.py runserver 192.168.255.70:8000


瀏覽器訪問:http://192.168.255.70:8000/booktest/getTest1/

顯示:

django--web框架之獲取客戶端使用GET方法的url參數


點擊test2,url變為:http://192.168.255.70:8000/booktest/getTest2/?a=1&b=2&c=3

顯示:

django--web框架之獲取客戶端使用GET方法的url參數


點擊test3,url變為:http://192.168.255.70:8000/booktest/getTest3/?a=1&a=2&a=3

顯示:

django--web框架之獲取客戶端使用GET方法的url參數



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

饶平县| 鹤壁市| 喜德县| 新晃| 临朐县| 凤翔县| 潮州市| 辽宁省| 客服| 益阳市| 普洱| 泌阳县| 高邑县| 南澳县| 西盟| 乐业县| 应用必备| 黄浦区| 饶平县| 江孜县| 溧阳市| 岳西县| 永安市| 东安县| 崇阳县| 虞城县| 娄底市| 姜堰市| 榆社县| 岳普湖县| 格尔木市| 施秉县| 夏邑县| 绍兴县| 锡林浩特市| 武功县| 武平县| 耿马| 如皋市| 称多县| 苏尼特左旗|