Django Form常用功能及代碼示例
更新時(shí)間:2020年10月13日 10:00:08 作者:py魚
這篇文章主要介紹了Django Form常用功能及代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
Django的Form主要具有一下幾大功能:
- 生成HTML標(biāo)簽
- 驗(yàn)證用戶數(shù)據(jù)(顯示錯(cuò)誤信息)
- HTML Form提交保留上次提交數(shù)據(jù)
- 初始化頁面顯示內(nèi)容
views.py
from django.shortcuts import render
# Create your views here.
from django.forms import Form
from django.forms import widgets
from django.forms import fields
# 對(duì)form表單進(jìn)行數(shù)據(jù)驗(yàn)證
class LoginForm(Form):
user = fields.CharField(required=True) # 不能為空
pwd = fields.CharField(min_length=18)
def login(request):
if request.method == "get":
return render(request, 'login.html')
else:
obj = LoginForm(request.POST)#request.POST拿到的是POST的數(shù)據(jù)
"""
is_valid
1. 獲取當(dāng)前類中所有的字段
-LoginForm實(shí)例化時(shí)候,放入
self.fields = {
'user':正則表達(dá)式,
'pwd':正則表達(dá)式
}
2.循環(huán)self.fields
flag = True
for k,v in self.fields.items():
k是:user,pwd
v是:正則表達(dá)式
input_value = requests.POST.get(k)
flag = False
return flag
"""
if obj.is_valid():
print(obj.cleaned_data)#字典數(shù)據(jù)
else:
# print(obj.errors)#返回的是個(gè)err對(duì)象
print(obj.errors)#返回的是個(gè)err對(duì)象
return render(request,'login.html')
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用戶登錄</h1>
<form action="/login/" method="POST">
{% csrf_token %}
用戶名 <input type="text" name="user">
密碼 <input type="password" name="pwd">
<input type="submit" value="提交">
</form>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- django框架防止XSS注入的方法分析
- 使用Django簡(jiǎn)單編寫一個(gè)XSS平臺(tái)的方法步驟
- Django項(xiàng)目創(chuàng)建及管理實(shí)現(xiàn)流程詳解
- Django Auth用戶認(rèn)證組件實(shí)現(xiàn)代碼
- Django ModelForm組件原理及用法詳解
- Django限制API訪問頻率常用方法解析
- 社區(qū)版pycharm創(chuàng)建django項(xiàng)目的方法(pycharm的newproject左側(cè)沒有項(xiàng)目選項(xiàng))
- Django如何實(shí)現(xiàn)防止XSS攻擊
相關(guān)文章
Keras中的兩種模型:Sequential和Model用法
這篇文章主要介紹了Keras中的兩種模型:Sequential和Model用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python讀取xlsx數(shù)據(jù)生成圖標(biāo)代碼實(shí)例
這篇文章主要介紹了Python讀取xlsx數(shù)據(jù)生成圖標(biāo)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
Python使用multiprocessing實(shí)現(xiàn)多進(jìn)程
當(dāng)我們工作中涉及到處理大量數(shù)據(jù)、并行計(jì)算或并發(fā)任務(wù)時(shí),Python的multiprocessing模塊是一個(gè)強(qiáng)大而實(shí)用的工具,在本文中,我們將探索如何使用multiprocessing模塊實(shí)現(xiàn)多進(jìn)程編程,將介紹進(jìn)程池的概念和用法,需要的朋友可以參考下2024-10-10
python數(shù)據(jù)分析之DateFrame數(shù)據(jù)排序和排名方式
這篇文章主要介紹了python數(shù)據(jù)分析之DateFrame數(shù)據(jù)排序和排名方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05

