Django-视图

一些方法

View

from django.views import View
class register(View):
    def get(self,request):
        pass
    def post(self,request):
        pass

render

from django.shortcuts import render

....

return render(request,'register.html',content)#将数据模板渲染后返回
HttpResponseForbidden
from django.http import HttpResponseForbidden

...

return HttpResponseForbidden('缺少必传参数')
#用于返回403错误信息

if not

if not all(username,password,password2,mobile):
     return HttpResponseForbidden('缺少必传参数')
#用于判断参数是否接受完全

保存注册数据

这里使用了用户模型类中的create_user方法

# 保存注册数据
try:
    User.objects.create_user(username=username, password=password, mobile=mobile)
except DatabaseError:
    return render(request, 'register.html', {'register_errmsg': '注册失败'})

redirect 重定向  和 reverse 反向解析

from django.shortcuts import redirect
from django.urls import reverse

# 案例1
def my_view(request):
    ...
    return redirect('/index/')

# 案例2
def my_view(request):
    ...
    return redirect('https://www.baidu.com/')

# 案例3
def my_view(request):
    ...
    return redirect(reverse('blog:article_list'))#命名空间

用户登录状态保持

from django.contrib.auth import login,logout

...

# 实现状态保持
        login(request, user)
#退出登录
        logout(request)    

状态保持 session 数据存储的位置:Redis数据库 配置中指定

 SESSION_ENGINE = "django.contrib.sessions.backends.cache"
 SESSION_CACHE_ALIAS = "session"
原文地址:https://www.cnblogs.com/xujin247/p/11765855.html