亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django 連接到 MySql 數據庫表

Django 連接到 MySql 數據庫表

慕后森 2023-08-15 16:58:20
我正在嘗試在不使用 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, renderfrom django.contrib import messagesfrom django.contrib.auth.models import User, authfrom .models import Benutzerdef 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 上的數據進行比較,以授予用戶訪問權限?
查看完整描述

1 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

我認為還有其他方法,但這應該有效。


def login(request):


if request.method == 'POST':

    username = request.POST['name']

    passwort = request.POST['passwort']


    B_user = Benutzer.objects.filter(name=username).first()


    if B_user and B_user.passwort == passwort:

        return redirect('/')

    else:

        messages.info(request,'Falsche Zugangs Daten!')

        return redirect('/accounts/login')


else:

    return render(request, 'login.html')


查看完整回答
反對 回復 2023-08-15
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號