您好,登錄后才能下訂單哦!
說明:此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/
顯示:
點擊test2,url變為:http://192.168.255.70:8000/booktest/getTest2/?a=1&b=2&c=3
顯示:
點擊test3,url變為:http://192.168.255.70:8000/booktest/getTest3/?a=1&a=2&a=3
顯示:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。