2018-01-31

简单的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 = "权限表"

猜你喜欢

转载自blog.csdn.net/wushan1992/article/details/87732299