Django涓€庝箞瀹炵幇鐢ㄦ埛娉ㄥ唽鍔熻兘
鍦―jango涓疄鐜扮敤鎴锋敞鍐屽姛鑳介€氬父闇€瑕佷互涓嬫楠わ細
-
鍒涘缓涓€涓敞鍐岃〃鍗曪細鍒涘缓涓€涓〃鍗曠被锛屽寘鍚敤鎴锋敞鍐屾墍闇€鐨勫瓧娈碉紙濡傜敤鎴峰悕銆佸瘑鐮併€佺數瀛愰偖浠剁瓑锛夛紝鍙互浣跨敤Django鑷甫鐨勮〃鍗曠被
forms.Form
鎴?code>forms.ModelForm銆?/p> -
鍒涘缓涓€涓敞鍐岃鍥惧嚱鏁帮細鍒涘缓涓€涓鍥惧嚱鏁帮紝澶勭悊鐢ㄦ埛鎻愪氦娉ㄥ唽琛ㄥ崟鐨勯€昏緫銆傚湪瑙嗗浘鍑芥暟涓紝闇€瑕佹帴鏀惰〃鍗曟暟鎹€侀獙璇佹暟鎹€佸垱寤虹敤鎴峰璞″苟淇濆瓨鍒版暟鎹簱涓€?/p>
-
鍒涘缓涓€涓敞鍐屾ā鏉匡細鍒涘缓涓€涓ā鏉挎枃浠讹紝鍖呭惈鐢ㄦ埛娉ㄥ唽鎵€闇€鐨勮〃鍗曘€傛ā鏉挎枃浠朵腑鍙互浣跨敤Django妯℃澘璇█鏉ユ覆鏌撹〃鍗曞拰鏄剧ず閿欒淇℃伅銆?/p>
-
閰嶇疆URL璺敱锛氬皢娉ㄥ唽瑙嗗浘鍑芥暟鍜屾ā鏉挎枃浠堕€氳繃URL璺敱閰嶇疆鍒癉jango椤圭洰涓紝浣跨敤鎴峰彲浠ヨ闂埌娉ㄥ唽椤甸潰骞舵彁浜ゆ敞鍐岃〃鍗曘€?/p>
涓嬮潰鏄竴涓畝鍗曠殑绀轰緥浠g爜锛?/p>
# forms.py
from django import forms
class RegisterForm(forms.Form):
username = forms.CharField()
password = forms.CharField(widget=forms.PasswordInput())
email = forms.EmailField()
# views.py
from django.shortcuts import render, redirect
from .forms import RegisterForm
from django.contrib.auth.models import User
def register(request):
if request.method == 'POST':
form = RegisterForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password']
email = form.cleaned_data['email']
User.objects.create_user(username=username, password=password, email=email)
return redirect('login') # 娉ㄥ唽鎴愬姛鍚庤烦杞埌鐧诲綍椤甸潰
else:
form = RegisterForm()
return render(request, 'register.html', {'form': form})
# register.html
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Register</button>
</form>
# urls.py
from django.urls import path
from . import views
urlpatterns = [
path('register/', views.register, name='register'),
# other url patterns
]
浠ヤ笂绀轰緥浠g爜涓紝鎴戜滑鍒涘缓浜嗕竴涓敞鍐岃〃鍗曠被RegisterForm
锛屼竴涓敞鍐岃鍥惧嚱鏁?code>register鐢ㄦ潵澶勭悊鐢ㄦ埛娉ㄥ唽閫昏緫锛屼竴涓敞鍐屾ā鏉?code>register.html鐢ㄦ潵娓叉煋娉ㄥ唽琛ㄥ崟銆傛渶鍚庡皢娉ㄥ唽瑙嗗浘鍑芥暟閫氳繃URL璺敱閰嶇疆鍒癉jango椤圭洰涓€傜敤鎴疯闂?code>/register/鍗冲彲杩涘叆娉ㄥ唽椤甸潰杩涜鐢ㄦ埛娉ㄥ唽銆?/p>
相关问答