Python 如何在djnago中将request.user导入TemplateVew
我需要知道如何检查用户是否通过了呈现页面的TemplateView方法的身份验证 我已将此添加到我的上下文处理器中:Python 如何在djnago中将request.user导入TemplateVew,python,django,web,django-templates,django-authentication,Python,Django,Web,Django Templates,Django Authentication,我需要知道如何检查用户是否通过了呈现页面的TemplateView方法的身份验证 我已将此添加到我的上下文处理器中: TEMPLATE_CONTEXT_PROCESSORS = [ 'django.contrib.auth.context_processors.auth', ] my views.py当前看起来像: from django.shortcuts import render from CreateVuln.forms import * from django
TEMPLATE_CONTEXT_PROCESSORS = [
'django.contrib.auth.context_processors.auth',
]
my views.py当前看起来像:
from django.shortcuts import render
from CreateVuln.forms import *
from django.views.generic import TemplateView
from django.template import RequestContext
from pages.decorators import *
vulnform = vulnform
class Dashboard(TemplateView):
template_name = 'vuln_pages/Create_Vuln.html'
def get(self, request):
Outform = {
'vulnform': vulnform,
}
return render(request, self.template_name, Outform)
def post(self, request):
forminput = vulnform(request.POST or None)
if forminput.is_valid():
forminput.save()
forminput = vulnform()
inoutform = {
'vulnform': forminput,
}
return render(request, self.template_name, inoutform, )
else:
inoutform = {
'vulnform': vulnform,
}
return render(request, self.template_name,inoutform )
# Create your views here.
class ViewVulns(TemplateView):
template_name = 'vuln_pages/Create_Vuln.html'
def get(self, request):
return render(request, self.template_name)
我想这样做,使网页既不能用GET请求查看,也不能用POST请求更新。
我尝试过使用RequestContext。但是文档似乎很复杂,我似乎不明白如何使用它 您可以尝试以下操作:
如果request.user.is\u经过身份验证:
使用mixin
如果视图正在使用此mixin,则未经身份验证的用户的所有请求都将重定向到登录页面或显示HTTP 403禁止错误,具体取决于raise\u exception
参数
来自django.contrib.auth.mixins导入登录所需的mixin
类仪表板(LoginRequiredMixin,TemplateView):
#您的代码
from django.contrib.auth.mixins import LoginRequiredMixin
class Dashboard(LoginRequiredMixin, TemplateView):
# your code