django框架學習:二十二.django表單提交-get請求


------------恢復內容開始------------

前言

在登錄的時候,輸入框里輸入賬號,密碼提交,從前端頁面將賬號密碼等信息提交到服務端,服務端接收數據后根據提交的數據進行相應的處理,返回相應的響應。這一套流程下來就是今天學習的內容,表單的提交,涉及到前后端數據的交互。

from表單

用戶表單是web開發的一項基本的功能,Django的表單功能由Form類實現,主要分為兩種:

django.forms.Form 基礎的表單功能

django.forms.ModelForm 結合模型生成的數據表單

一個完整的表單有四部分組成:日膠地址,請求方式,元素空間,提交按鈕。

action

提交地址,設置用戶提交數據有哪個url接收和處理。如果顯示當前頁,不需要跳轉,action設置為空字符,如果顯示不是當前頁,不需要跳轉,action設置為跳轉后的地址。

method

請求方式,常見的get或post請求

input 

元素空間,輸入文本信息

submit

提交按鈕,出發提交動作

創建html文件,page_01.html

 

數據庫表

通過html 實現qq號碼查詢的提交,models.py文件創建PersonInfo.py文件

 

 將數據遷移,同步數據庫:

python manage.py makemigrations

python manage.py migrate

打開navicat客戶端,查看是否成功創建表格,准備查詢數據

 

 

獲取提交參數(request.GET)

html上的數據提交后,我們希望能獲取到提交的數據,然后對數據做個簡單的處理,跟進不同的數據返回不同的結果。通過表單提交數據后,通過視圖函數實現和數據庫的交互。

 

equest.GET 可以看成一個字典,用GET方法傳遞的值都會保存到其中,可以用 request.GET['key_name']來取值,但是當key值不存在時,會報錯“MultiValueDictKeyError”。

為了避免key值不存在時報錯,這里可以用另外一種寫法:request.GET.get('key_name', None)

獲取提交的數據 # r = request.GET["q"] # key_name就是前面輸入框里的name屬性對應值name="q" r = request.GET.get('q', None) #key_name不存在時,不會報錯

查詢數據庫返回

查詢數據庫PersonInfo輸入qq號碼,返回name值

 

視圖函數數據交互處理

 

最后添加訪問路徑:

啟動django服務后,打開瀏覽器輸入訪問路徑,進行數據的提交如下

 

 

 

訪問日志:

 

 

 

 

------------恢復內容結束------------


免責聲明!

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



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