django表單驗證的使用方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元揚中做網(wǎng)站,已為上家服務(wù),為揚中各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

小編給大家分享一下django表單驗證的使用方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

1, 在視圖views.py中引入forms模塊 from django import forms,特別注意是forms,加s

2, 然后創(chuàng)建一個類繼承django的Form class biaodan(forms.Form):

3, 編寫自定義的表單驗證規(guī)則, forms模塊中提供了許多內(nèi)置的驗證字段如, 針對字符串使用CharFiled,針對郵箱使用 EmailFiled,針對url地址使用URlFiled,數(shù)字字段,ip類的字段等等, 每一個字段內(nèi)我們還可以設(shè)置驗證條件,比如,是否要求字段可以為空,添加驗證條件required=True,表示不能為空,max_length=5,大字符數(shù),min_length最小字符數(shù),error_messages={},自定的錯誤信息,字典形式,鍵為驗證條件的字段,錯誤信息自己可以隨便寫,針對郵箱有一個錯誤信息字段為invalid,用來專門寫郵箱驗證錯誤后的提示信息,其實錯誤信息可以自己不編寫,模塊中有默認的驗證錯誤返回信息,不過是英文的,為了更好的用戶體驗,建議自己定義

比如我們定義一個用戶的驗證

django框架沒有手機號的驗證規(guī)則可以自定義添加

# 編寫自定義驗證規(guī)則def mobile_check(value):
    res = re.match('^1[356789]\d{9}$', value)    if not res:        # 自定義規(guī)則不拋異常表示通過
        raise ValidationError('手機號碼格式錯誤')class bd(forms.Form):
    mobile = forms.CharField(
        required=True,        # 使用自定義驗證規(guī)則
        validators=[mobile_check],
        error_messages={            'required': '手機號為必填項',
        },
    )
    user = forms.CharField(
        required=True,
        max_length=4,
        min_length=2,
        error_messages={'required': '不能為空',  'max_length': '最長不能超過4個字符', 
        'min_length': '最小長度為2'
        }
    )

4, 驗證類編寫好以后我們就可以,編寫邏輯邏輯處理模塊了

def test(request):
    if request.method == 'POST':
        f = bd(request.POST) # 使用bd類驗證請求過來大的信息
        if f.is_valid():    # is_valid()返回驗證是否通過的布爾值
            # print(f.cleaned_data)  # cleaned_data 返回驗證通過后的所有數(shù)據(jù),字典形式
            # 可以執(zhí)行數(shù)據(jù)庫存儲操作
            return JsonResponse(f.cleaned_data)
        else:
            return render(request, 'kanyun/test.html', {'info': f.errors})  # errors 獲取驗證錯誤信息
    elif request.method == 'GET':
        return render(request, 'kanyun/test.html')

通過驗證后的返回的cleaned_data數(shù)據(jù),可以進行對數(shù)據(jù)庫的存儲操作
如果是登陸則可以查詢數(shù)據(jù)庫對比,成功后可以執(zhí)行跳轉(zhuǎn)操作

前端代碼,前端的input的輸入框下要有接收錯誤信息的標簽模塊用來接收錯誤提示信息

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2>From模塊驗證表單模塊使用方法訪問頁面</h2>
<form action="{% url 'kanyun:test' %}" method="post">
    {% csrf_token %}
    <div>
        用戶名:<input type="text" name="mobile"/>
        <span>{{ info.user }}</span>
    </div>
    <div>
        密碼:<input type="text" name="user"/>
        <span>{{ info.pwd }}</span>
    </div>
    <button type="submit">提交</button>
</form>
<h2>自動創(chuàng)建表單</h2>

</body>
</html>

看完了這篇文章,相信你對django表單驗證的使用方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

當前名稱:django表單驗證的使用方法-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://bm7419.com/article26/hsejg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站小程序開發(fā)、品牌網(wǎng)站建設(shè)、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)