我正在尝试在不使用 Django user.authenticate 系统的情况下创建一个身份验证系统,因为我想创建 2 个单独的登录系统。1 个供 IT 和 Web 开发部门使用,另外 1 个供一般用户使用。因此,我为 IT 部门使用相同的 MySql 数据库和 Auth_user。我创建了一个帐户应用程序,我想使用accounts_benutzer(德语用户)表。
我可以通过管理面板向应用程序系统用户等添加感谢,但我希望由 IT 部门用户注册的用户使用给定的用户名和密码登录主页
我的视图/模型/模板如下:
帐户/模型.py:
class Benutzer(models.Model):
regex = RegexValidator(regex=r'^\+?1?\d{7,15}$')
name = models.CharField(max_length=100)
passwort = models.CharField(max_length=32)
email = models.EmailField(max_length=254)
....
账户/views.py:
from django.shortcuts import redirect, render
from django.contrib import messages
from django.contrib.auth.models import User, auth
from .models import Benutzer
def login(request):
if request.method == 'POST':
username = request.POST['name']
passwort = request.POST['passwort']
if (username == Benutzer.name) and (passwort == Benutzer.passwort):
return redirect('/')
else:
messages.info(request,'Falsche Zugangs Daten!')
return redirect('/accounts/login')
else:
return render(request, 'login.html')
登录.html:
{% load static %}
<form action="login" method="post">
{% csrf_token %}
<p>Benutzername: <input type="text" name="name" placeholder="Benutzer Name"></p>
<p>Passwort: <input type="password" name="passwort" placeholder="Passwort"></p>
<input type="submit" value="Bestaetigen">-<input type="reset" value="Löschen">
</form>
<div>
{% for message in messages %}
<h3>{{message}}</h3>
{% endfor %}
我知道使用 Benutzer.user 或 Benutzer.passwort 没有意义,但这就是我要问的重点。如何能够将从网站获取的数据与 MySQL 表 account_benutzer 上的数据进行比较,以授予用户访问权限?
达令说
相关分类