from django.shortcuts import render
from django import forms
from django.core.exceptions import ValidationError
from django.shortcuts import redirect
# Create your views here.
import json
import re
def phone_valid(value):
type=re.compile("^(13[0-9]|15[0-9]|17[79]|18[0-9])[0-9]{8}$")
if not type.match(value):
raise ValidationError("请输入正确的手机号")
def method_num(value):
try:
int(value)
except Exception:
raise ValidationError("必须为数字")
class LoginForm(forms.Form):
username=forms.CharField(error_messages={"required":"用户名不能为空"})
pawd=forms.CharField(
min_length=6,max_length=16,
error_messages={"required":"密码不能为空","min_length":"最小位数不能小于6位",
"max_length":"最大位数不能超过16位"},
widget=forms.TextInput(attrs={"type":"password","required":False}))
phone=forms.CharField(
max_length=11,
min_length=11,
validators=[phone_valid,],
error_messages={"required":"用户名不能为空","max_length":"手机号码不能超过11位","min_length":"手机号码不能低于11位"})
number=forms.CharField(validators=[method_num,],error_messages={"invalid":"非法数字请重新填写"})
def login(requests):
result=None
objGet=LoginForm()
if requests.POST:
obj=LoginForm(requests.POST)
ret=obj.is_valid()
if ret:
print(obj.clean())
user=obj.clean()["username"]
# result=redirect("/web/index/")#输入要跳转的cookeie页面
# print(user)
# result.set_cookie('user',user)#并输入要跳转的值
result=redirect("/web/index/")
requests.session["user"]=user
return result
else:
print("没有校验正确")
errorlist=obj.errors
for k,v in errorlist.items():
print(k,v)
return render(requests,"sessionFormLogin.html",{"obj1":obj})
else:
objGet=LoginForm()
return render(requests,"sessionFormLogin.html",{"obj1":objGet})
def index(requests):
# Cookie版本
# user=requests.COOKIES.get("user",None)
# if user:
# return render(requests,"sessionIndex.html",{"user":user})
# else:
# return render(requests,"session_login.html")
user=requests.session.get("user",None)
if user:
return render(requests,"sessionIndex.html",{"user":user})
else:
return render(requests,"session_login.html")
from django import forms
from django.core.exceptions import ValidationError
from django.shortcuts import redirect
# Create your views here.
import json
import re
def phone_valid(value):
type=re.compile("^(13[0-9]|15[0-9]|17[79]|18[0-9])[0-9]{8}$")
if not type.match(value):
raise ValidationError("请输入正确的手机号")
def method_num(value):
try:
int(value)
except Exception:
raise ValidationError("必须为数字")
class LoginForm(forms.Form):
username=forms.CharField(error_messages={"required":"用户名不能为空"})
pawd=forms.CharField(
min_length=6,max_length=16,
error_messages={"required":"密码不能为空","min_length":"最小位数不能小于6位",
"max_length":"最大位数不能超过16位"},
widget=forms.TextInput(attrs={"type":"password","required":False}))
phone=forms.CharField(
max_length=11,
min_length=11,
validators=[phone_valid,],
error_messages={"required":"用户名不能为空","max_length":"手机号码不能超过11位","min_length":"手机号码不能低于11位"})
number=forms.CharField(validators=[method_num,],error_messages={"invalid":"非法数字请重新填写"})
def login(requests):
result=None
objGet=LoginForm()
if requests.POST:
obj=LoginForm(requests.POST)
ret=obj.is_valid()
if ret:
print(obj.clean())
user=obj.clean()["username"]
# result=redirect("/web/index/")#输入要跳转的cookeie页面
# print(user)
# result.set_cookie('user',user)#并输入要跳转的值
result=redirect("/web/index/")
requests.session["user"]=user
return result
else:
print("没有校验正确")
errorlist=obj.errors
for k,v in errorlist.items():
print(k,v)
return render(requests,"sessionFormLogin.html",{"obj1":obj})
else:
objGet=LoginForm()
return render(requests,"sessionFormLogin.html",{"obj1":objGet})
def index(requests):
# Cookie版本
# user=requests.COOKIES.get("user",None)
# if user:
# return render(requests,"sessionIndex.html",{"user":user})
# else:
# return render(requests,"session_login.html")
user=requests.session.get("user",None)
if user:
return render(requests,"sessionIndex.html",{"user":user})
else:
return render(requests,"session_login.html")