cookie
```python
#设置cookies
import datetime
def set_cok(request):
response=HttpResponse('设置cookies');
#设置cookies名
response.set_cookie('name','du')
#设置cookies名和最长时间
response.set_cookie('name','du', max_age=10)#设置多少秒后过期
response.set_cookie('name','zhang',expires=datetime.datetime(2020,3,14))#设置cookies过期时间
return response;
#获得cookie
def get_cok(request):
rs=request.COOKIES;#获取cookie
print(rs.get('name'))# 获取cookie的name值
return HttpResponse('获取成功')
#删除cookie
def delete_cookie(request):
rs=HttpResponse("删除cookie");
rs.delete_cookie('name')#通过键值对删除
return rs
## session设置
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200313221523960.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200313221538133.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)
```python
from django.shortcuts import render,reverse,redirect
from django.http import HttpResponse
# Create your views here.
def home(request):
username=request.session.get('username');
return render(request,'form_test/home.html',context={'username':username});
from django.views import View
class Login(View):
def get(self,request):
return render(request,'form_test/login.html')
def post(self,request):
username=request.POST.get('username');
request.session['username']=username;#设置sessio键值对
# request.session.set_expirt(None)#设置session存在时间,none默认为两周
return redirect(reverse('home'))
#删除session
def flush_session(request):
request.session.flush();
return redirect(reverse('home'))
用户注册
第一步:
先写相应的类,然后映射到数据库中,形成相应的表:
#用户登录表
class UserModel(models.Model):
username=models.CharField(max_length=30);#用户名字段
password=models.CharField(max_length=30);#密码字段
email=models.CharField(max_length=20)#邮箱字段
第二步:
写相应的注册的模型
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<form action="" method="post">
{% csrf_token %}
{{ from1.as_p }}
<input type="submit" value="提交">
</form>
</body>
</html>
#导入相应的表单的包
from django import forms
class Registerfrom(forms.Form):
username=forms.CharField(max_length=30,min_length=6)
password=forms.CharField(max_length=30,widget=forms.PasswordInput(attrs={'placeholder':'请输入密码'}))
password_reater=forms.CharField(max_length=30,widget=forms.PasswordInput(attrs={'placeholder':'请再输入一次密码'}))
email=forms.EmailField();
第三步
from .forms import Registerfrom
from .models import UserModel
class Register_test(View):
def get(self,request):
from1=Registerfrom();#实例化一个form表单
return render(request,'form_test/register.html',context={'from1':from1});
def post(self,request):
form1=Registerfrom(request.POST);#获取表单的数据
if form1.is_valid(): #验证数据是否合法
username=form1.cleaned_data.get('username');
password=form1.cleaned_data.get('password');
password_reate=form1.cleaned_data.get('password_reater');
email=form1.cleaned_data.get('email');
if password==password_reate:
UserModel.objects.create(username=username,password=password,email=email);
return HttpResponse('注册成功')
return HttpResponse('注册失败,请检查')