django " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

Django涓€庝箞澶勭悊琛ㄥ崟楠岃瘉

扬州沐宇科技
2024-03-05 14:55:10
django

鍦―jango涓鐞嗚〃鍗曢獙璇侀€氬父闇€瑕佷娇鐢―jango鐨勮〃鍗曠被鍜岃鍥惧嚱鏁般€傞鍏堥渶瑕佸畾涔変竴涓〃鍗曠被锛岃绫荤户鎵胯嚜Django鐨刦orms.Form绫伙紝骞跺畾涔夎〃鍗曞瓧娈靛拰楠岃瘉瑙勫垯銆傛帴鐫€鍦ㄨ鍥惧嚱鏁颁腑鎺ユ敹鐢ㄦ埛鎻愪氦鐨勮〃鍗曟暟鎹紝骞跺疄渚嬪寲琛ㄥ崟绫昏繘琛岄獙璇併€?/p>

浠ヤ笅鏄竴涓畝鍗曠殑绀轰緥锛?/p>

# forms.py
from django import forms

class MyForm(forms.Form):
    username = forms.CharField()
    password = forms.CharField(widget=forms.PasswordInput)

    def clean_username(self):
        username = self.cleaned_data['username']
        # 鑷畾涔夐獙璇佽鍒?/span>
        if not username.isalnum():
            raise forms.ValidationError("鐢ㄦ埛鍚嶅彧鑳藉寘鍚瓧姣嶅拰鏁板瓧")
        return username

# views.py
from django.shortcuts import render
from .forms import MyForm

def my_view(request):
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            # 澶勭悊琛ㄥ崟鏁版嵁
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            # 鍏朵粬鎿嶄綔...
        else:
            # 琛ㄥ崟楠岃瘉澶辫触
            return render(request, 'my_template.html', {'form': form})
    else:
        form = MyForm()
    
    return render(request, 'my_template.html', {'form': form})

鍦ㄨ鍥惧嚱鏁颁腑锛岄鍏堝垽鏂姹傛柟娉曟槸鍚︿负POST锛屽鏋滄槸鍒欏疄渚嬪寲琛ㄥ崟绫诲苟璋冪敤is_valid()鏂规硶杩涜楠岃瘉銆傚鏋滆〃鍗曢獙璇侀€氳繃锛屽垯鍙互閫氳繃cleaned_data灞炴€ц幏鍙栭獙璇佸悗鐨勬暟鎹繘琛屽悗缁鐞嗐€傚鏋滆〃鍗曢獙璇佸け璐ワ紝鍒欒繑鍥炲甫鏈夐敊璇俊鎭殑琛ㄥ崟缁欑敤鎴烽噸鏂板~鍐欍€?/p>

鍦ㄦā鏉夸腑锛屽彲浠ラ€氳繃form.errors鍜宖orm.non_field_errors鏄剧ず鍚勫瓧娈靛拰闈炲瓧娈甸敊璇俊鎭€?/p>

浠ヤ笂鏄竴涓畝鍗曠殑琛ㄥ崟楠岃瘉澶勭悊鐨勭ず渚嬶紝瀹為檯搴旂敤涓彲鑳戒細鏍规嵁鍏蜂綋闇€姹傝繘琛屾洿澶嶆潅鐨勮〃鍗曢獙璇佸鐞嗐€?/p>

扫码添加客服微信