【发布时间】:2020-07-26 15:18:29
【问题描述】:
我想创建对用户角色 = "level1' 或角色 = "level2" 进行身份验证的中间件 如果用户登录 1 级,他们只能看到 1 级内容,如果用户登录 2 级,他们可以同时看到 1 级和 2 级内容
from django.shortcuts import render
from django.http import HttpResponse
from .forms import loginForm
from .models import memberModel
# Create your views here.
def login(request):
lf = loginForm
return render(request, 'member/login.html', {'lf':lf})
def getLogin(request):
username = request.POST['username']
password = request.POST['password']
user = memberModel.objects.get(username = username)
if (user.password == password):
if (user.role == 'level1'):
return HttpResponse('you are level 1 basic')
else:
return HttpResponse('you are VIP')
else:
return HttpResponse('login fail')
def level1(request):
#if login level 1 and level 2 role can see this
return render(request, 'member/level1.html')
def level2(request):
# only login level 2 role can see this
return render(request, 'member/level2.html')
我该怎么做,请帮忙
【问题讨论】:
-
密码是散列的,所以
user.password == password不是一个好主意。这就是为什么 Django 有一个authenticate(..)函数。 -
是的,我知道,但我想深入了解初学者的学习:))
标签: django authentication middleware