Django--Form组件和cookie

Form组件

a) 生成页面
i. {{form.as_p}} . {{form_as_table}} . {{form.as_ul}}
ii.{{form.username.lable}}{{form.username}}

b) 校验功能

i. Form组件初体验
from django import forms
class 类名(forms.Form):
username=forms.CharField(
lable=‘用户名’ #修改页面上显示内容,
required=True #不能为空
min_length=2 #最小长度

	)
error_messages={   #设置错误信息内容
				'required':'不能为空'
				
	}

ii. 保存数据库
if form_obj.isvalid():
#获取内容
datas_dic=form_obj.cleaned_data
value=datas_dic.get(key)

	#保存数据库
	
	#响应

iii. 自定义过滤内容

from django.forms import ValidationError

覆写clean方法

def clean(self):

#1.获取属性
datas_dic=self.cleaned_data
username=datas_dic.get('username')
#2.对内容进行业务逻辑的判断
if username.find('sb') != -1:
	error=ValidationError('不符合社会之一价值观!!!')
	self.add_error('username',error)
	raise  error
	return self.cleaned_data

iv. 使用正则表达式校验规则

from django.core.validators import RegexValidator

class register_form(forms.Form)
v. mobile=forms.CharField(
label=‘手机号’,
required=True,
validators=[
RegexValidator(r’ ^ [0-9]+ ′ , ′ 手 机 号 必 须 是 数 字 ′ ) , R e g e x V a l i d a t o r ( r ′ 1 [ 3 − 9 ] [ 0 − 9 ] 9 ','手机号必须是数字'), RegexValidator(r'^1[3-9][0-9]{9} ,),RegexValidator(r1[39][09]9’,‘手机号格式错误’)
]

)

v.设置显示样式

from django.forms import widgets
class RegisterForm(forms.Form):
username=forms.Charfield(
widget=widgets.TextField(attrs={‘class’:‘name’})
)
password=forms.Charfield(
widget=widgets.PasswordInput(attrs={‘class’:‘name’},render_value=True)
)

c) 回显功能:自动回显

会话

a) Cookie
i.使用方式
1.设置cookie:通过响应对象,HttpResponse(),render(),redirect()
response.set_cookie(key,value),
response.set_cookie(key1,value1),
2.获取cookie:通过HttpRequest对象(request参数)
value=request.COOKIES.get(key)

	3.设置过期时间  单位是秒s
			response.set_cookie(key,value,max_age=10)
			默认过期时间是浏览器关闭

ii. Cookie特点
1.以键值对的方式保存信息
2.基于域名安全
3.将某个网站相关的所有的cookie都携带到网站,
4.Cookie默认时间,关闭浏览器

iii.原理

	1.第一次访问服务器的时候,从服务端创建cookie,响应的时候,将cookie信保存到响应头中,返回给浏览器进行保存
	2.再次访问服务器时候,浏览器会在请求头中携带所有的cookie所信息,
	3.服务端根据自己的需求获取相应的cookie中的值

iv.Cookie是不安全的,一些敏感信息例如密码,不能保存到cookie中,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值