知识点总结
一、URL:
1、在python 正则表达式中,正则表达式命名组的语法是(?P<name>pattern),其中命名组中的命名就是name,并且pattern 是某些匹配的模式
2.可以定义404 错误页面,统一处理
3.包含其他的 urlpatterns 可以用include
4.url 的反向解析
urlpatterns = [
path('',views.index,name='index')
]
from django.urls import reverse
def index(request):
print (reverse('index'))
return HttpResponse('Ok')
打印输出:
/index
二、Mode 的开发流程:
1)1.在应用的models.py 中定义模型类,要求继承自models.Model
2.把应用加入到settings 配置文件的INSTALLED_APPS 项中
3.生成迁移文件
python manage.py makemigrations
4.执行迁移
python manage.py migrate
5.使用模型类进行CRUD 操作(即增删改查)
2)mode 增删改查
#增
ob=Users() #创建实例对象
ob.name='zhangsan'
ob.age=18
ob.phone='112333444'
ob.save()
#改
ob=Users.objects.get(id=2)
ob.name='lisi'
ob.age=30
ob.phone='11177777'
ob.save()
#删除
ob=Users.objects.get(id=2)
ob.delete()
#查询
mod=Users.objects #获取user 模型的Model 操作对象
# ulis=mod.all() #获取所有数据
# ulist=mod.filter(name='lisi') #获取name 值为lisi 的信息
# ulist=mod.filter(age__gt=20) #获取所有age 大于20 的信息
#ulist=mod.filter(age__gte=30) #获取所有age 大于等于30 的信息
# ulist=mod.filter(age__lte=20) #获取所有gae 小于等于20 的信息
ulist=mod.order_by('age') #以age
for u in ulist:
print (u.id,u.name,u.age,u.phone,u.addtime)
三、cookie 中存数据(保存在客户端,即保存在客户端电脑硬盘上,可以找到cookie 对应的磁盘文件):
1.普通
response.set_cookie('uname','zhangsan',expires=value,path='/')
2.加盐
普通cookie 是明文传输的,可以直接在客户端直接打开,所以需要加盐,解盐之后才能查看
response.set_signed_cookie('k','v',salt='fdsa')
cookie 中取数据:
1.普通
request.COOKIES['hello']
request.COOKIES.get('hello')
四、session
1.设置session 后数据库中对数据进行了序列化
例如 request.session['uname']='zhangsan' 进行session 设置,数据库中session 值为
session_key: rgn2ks6apf7k3il99uiud0y3f7wwfab0 session_data:NmRkZDI5YTY1OThkZTUwNmEzOWIzNTI4YTMzZmQ1ZTk5MGVhOGZmODp7InVuYW1lIjoiemhhbmdzYW4ifQ==
expire_date:2022-04-27 02:45:23.424624
2022-04-27 02:45:23.424624D:\python27\Lib\site-packages\django\conf\global_settings.py
具体session 操作:
#在session 中默认存放时间是两周
#SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2
request.session['uname']='zhangsan'
#设置有效时间
#1.参数类型:整数:秒
request.session.set_expiry(5*24*60*60)
#删除session 数据,只是删除对象中sesion 数据
del request.session['uname']
#删除session 对象和数据库中的数据
request.session.flush()
return HttpResponse('设置成功')