# 对get和post的两种方式一般用类视图的方式
# 第一步获取表单 看表单是从项目中传来还是从前端中传来
# 如果从项目中来 不需要传入值
# 入股从前端中来要看是get方式还是post方式传进来方式参数
# 把表单信息存入变量中
# 对前端传来的数据存入数据库中
class RegisterTest(View):
def get(self, request):
form RegisterForm() # 把form表单传到视图中用变量的形式传入模板中
return render(request, form_session/register.html , context { form : form})
def post(self, request):
form RegisterForm(request.POST) # 通过post方式前端传来的数据 获取表单数据
if form.is_valid(): # 判断数据是否合法 True合法
# 保存用户提交的数据
username form.cleaned_data.get( username )
pwd form.cleaned_data.get( password ) # 前端post方式传来的密码
pwd_confirm form.cleaned_data.get( password_confirm ) # 前端传来的确定密码
email form.cleaned_data.get( email ) # 前端传来的邮箱
if pwd pwd_/confirm/i: # 后端判断两次密码是否一样
UserModel.objects.create(username username, password pwd, email email) # 把前端传来的三个值存入数据库中
return HttpResponse( 注册成功 欢迎您使用我们的网站 )
else:
return HttpResponse( 注册失败 您输入的两次密码不一致 )
else:
return HttpResponse( 注册失败 请输入合法的数据 )
模板文件
注册页面
!DOCTYPE html
html lang en
head
meta charset UTF-8
title 注册页面 /title
/head
body
form action {% url register %} method post
{% csrf_token %}
{# p标签换行#}
{{ form.as_p }}
input type submit value 注册
/form
/body
/html
注册页面
!DOCTYPE html
html lang en
head
meta charset UTF-8
title 注册页面 /title
/head
body
form action {% url register %} method post
{% csrf_token %}
{# p标签换行#}
{{ form.as_p }}
input type submit value 注册
/form
/body
/html



