简单的damo
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views.login),
- views.py登录数据处理
def login(request):
if request.method == "GET":
return render(request, "login.html")
user = request.POST.get("username", False)
pwd = request.POST.get("password", False)
if not user or not pwd:
error = "用户名或密码不能为空!"
return render(request, "login.html", locals())
else:
user_obj = models.Users.objects.filter(username=user, password=pwd) #获取到QuerySetList
if user_obj.first():
request.session['login'] = user_obj.first().username
obj = user_obj.values('position__auth__name',
'position__auth__url',
'position__auth__group__name',
'position__auth__group__title__title') #获取到QuerySetList的values,分别为权限名字、权限路径、权限组名字、菜单名
for i in obj:
print(i.get('position__auth__name'),
i.get('position__auth__url'),
i.get('position__auth__group__name'),
i.get('position__auth__group__title__title'),
)
return redirect("/hosts/")
else:
error = "用户名或密码不正确,请重新输入!"
return render(request, "login.html", locals())
- login.html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="/" method="post">
{% csrf_token %}
用户名: <input type="text" name="username">
密 码: <input type="password" name="password">
{{ error }}
<input type="submit" value="登录">
</form>
</body>
</html>
- models.py中auth权限表添加一个字段
class Auth(models.Model):
url = models.CharField(max_length=32, blank=True, null=True, verbose_name="路径")
name = models.CharField(max_length=32, blank=True, null=True, verbose_name="显示")
group = models.ForeignKey(to='AuthGroup', blank=True, null=True, verbose_name="权限组", related_name="authgroup")
to_display = models.ForeignKey(to='Auth', blank=True, null=True, verbose_name="显示", related_name="authtoauth")
def __str__(self):
return self.name
class Meta:
verbose_name_plural = "权限表"