一、在html文件下的操作
(一)在html中添加{% load static %}标签,加载static模块
(二)使用{%static "图片地址" %}动态生成静态资源URL
二、csrf跨站请求伪造
在账号登录的html文件中相应位置要加上{% csrf_token %},用于登录验证信息
<form>表单中必须要添加此语句
三、cookie、session、token
Cookie使用更简洁,服务器压力更小,数据不是很安全;
Session服务器要维护Session,相对安全;
Token拥有Session的所有优点,自己维护略微麻烦,支持更多的终端。
(一)cookie
在视图函数view.py文件中需要用到的代码
response = HttpResponse("COOKIE")
# 设置cookie
response.set_cookie("my_cookie", "asd", 3600)
# 加密cookie
response.set_signed_cookie("salt_cookie", "asd", salt="131321faffda")
# 解密cookie
res = request.get_signed_cookie("salt_cookie", salt="131321faffda")
print(res)
# 删除cookie
response.delete_cookie("my_cookie")
response.delete_cookie("salt_cookie")
(二)session
#设置当前会话属性
request.session["user_name"] = user.name
#删除了Session中的user_name属性
del request.session["user_name"]
#彻底删除了Session和cookie
request.session.flush()
(三)token
实例模板
models.py:
class UserToken(models.Model):
name = models.CharField(max_length=32, unique=True)
password = models.CharField(max_length=32)
token = models.CharField(max_length=128, null=True)
view.py:
def user_view(request):
token = request.GET.get("token")
user = UserToken.objects.filter(token=token)
if user.exists():
return JsonResponse({
"msg": f"welcome back:{user.first().name}"})
else:
return JsonResponse({
"mag": "Not Login"
})