Beispielcode für Django+Vue-Registrierung und -Anmeldung

Beispielcode für Django+Vue-Registrierung und -Anmeldung

registrieren

Das Front-End verwendet Axios in Vue, um Werte zu übergeben, und sendet das erhaltene Konto und Kennwort in Form eines Formulars an das Back-End.
Die Funktion des Formulars besteht darin, Daten zu sammeln, also den vom Benutzer auf der Front-End-Seite eingegebenen Wert abzurufen. numberValidateForm: das im Frontend definierte Formular
$axios muss bei Verwendung global in main.js registriert werden. .then stellt die Operation nach dem Erfolg dar und .catch die Operation nach dem Fehler.

Formular absenden(Formularname) {
      let data = neue FormData()
      data.append('Benutzername',this.numberValidateForm.name)
      data.append('Passwort',diese.NummerValidateForm.pass)
      dies.$axios.post('/api/register/',data).then((res) => {
        this.$router.push({ name: "login" }) // Routensprung }).catch((res) => {
         console.log("Fehler beim Senden!!");
         gibt false zurück;
      })
  }

Um $axios für die domänenübergreifende Authentifizierung zu verwenden, müssen Sie zuerst einen Proxy einrichten und dann X-CSRFToken zum Anforderungsheader hinzufügen.

vue.config.js

Schauspielkunst

Proxy: {
        "/api":{
          Ziel: "http://127.0.0.1:8000/",
          changeOrigin: true // Ob ein Proxy verwendet werden soll}
    }, //Proxy festlegen,

Haupt-JS

Axios von „axios“ importieren
Vue.prototype.$axios = Axios
let getCookie = Funktion (Cookie) {
    lass reg = /csrftoken=([\w]+)[;]?/g
    returniere reg.exec(Cookie)[1]
}
Axios.interceptors.request.use(
  Funktion(Konfiguration) {
    //X-CSRFToken-Headerinformationen einheitlich vor der Post-Anfrage hinzufügen let cookie = document.cookie;
    wenn(cookie && config.method == 'post'){
      config.headers['X-CSRFToken'] = getCookie(Cookie);
    }
    Konfiguration zurückgeben;
  },
  Funktion (Fehler) {
    // Tun Sie etwas mit dem Anforderungsfehler
    returniere Promise.reject(Fehler);
  }
);

Einloggen

Formular absenden(Formularname) {
      this.$refs[formName].validate(valid => { //Vue-Frontend-Validierungsregeln if (valid) {
          let data = neue FormData()
          data.append('Benutzername',this.numberValidateForm.name)
          data.append('Passwort',diese.NummerValidateForm.pass)
          dies.$axios.post('/api/login/',data).then((res) => {
            wenn(res.data.code == "ok"){
              konsole.log(12345678)
              dies.$router.push({name:"firstpage"})
            }
          })
        } anders {
          console.log("Fehler beim Senden!!");
          gibt false zurück;
        }
      });
    },

Ansicht.py

Django-Hintergrundansichtsfunktion

von django.shortcuts importiere render
von django.views importiere Ansicht
von django.http importiere HttpResponse, JsonResponse
von django.contrib.auth.models importiere Benutzer # Djangos gekapselte Authentifizierungsfunktion von django.contrib importiere auth
Klasse Login(Ansicht):
    def post(selbst, Anfrage):
        versuchen:
            Benutzer = Anfrage.POST.get('Benutzername',Keine)
            pwd = request.POST.get('Passwort',Keine)
            # Passwort überprüfen obj = auth.authenticate(request,username=user,password=pwd)
            wenn Objekt:
                return JsonResponse({'code':'ok','message':'Konto- und Passwortüberprüfung erfolgreich'})
        außer:
            return JsonResponse({'code':'no','message':'Überprüfung fehlgeschlagen'})

Klasse Register(Ansicht):
    def post(selbst, Anfrage):
        versuchen:
            Benutzername = Anfrage.POST.get('Benutzername',Keine)
            Passwort = Anfrage.POST.get('Passwort',Keine)
            Benutzer = Benutzer.Objekte.create_user(Benutzername=Benutzername,Passwort=Passwort)
            Benutzer.Speichern()
        außer:
            return JsonResponse({'code':'no','message':'Registrierung fehlgeschlagen'})
        return JsonResponse({'code':'ok','message':'Registrierung erfolgreich'})

Dies ist das Ende dieses Artikels über den Beispielcode zur Implementierung der Registrierung und Anmeldung mit Django + Vue. Weitere relevante Inhalte zur Registrierung und Anmeldung mit Django + Vue finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Django-Registrierung zum Senden eines Bestätigungscodes per E-Mail
  • Allgemeine Implementierungsmethode für das Django-Registrierungsfunktionsmodul
  • So registrieren Sie eine Datenbanktabelle im Django-Admin-Hintergrund
  • Implementierungsbeispiel für ein Django-Benutzeranmelde- und -registrierungssystem
  • Beispiel für vom Django-Framework implementierte Funktionen zur Benutzerregistrierung, Anmeldung und Abmeldung
  • Django implementiert eine Beispielerklärung zur Benutzerregistrierung
  • Django implementiert Anmelde-, Registrierungs- und Abmeldefunktionen unter dem Auth-Modul
  • Detaillierte Erläuterung des Prozesses zur Implementierung einer einfachen Registrierungsfunktion in Python Django
  • Beispielcode für das Anmelde- und Registrierungssystem von Django
  • Django schließt die E-Mail-Benutzerregistrierung und Kontoaktivierung über Ajax ab
  • Implementierung der Registrierungsfunktion des Django Mall-Projekts

<<:  Das Linux-System verbietet den Remote-Login-Befehl des Root-Kontos

>>:  Detaillierte Erklärung zur Verwendung der Funktion find_in_set() in MySQL

Artikel empfehlen

Verwendung des if-Urteils in HTML

Während der Django-Webentwicklung wird beim Schre...

Tutorial zur Installation von Ceph Distributed Storage mit Yum unter Centos7

Inhaltsverzeichnis Vorwort Konfigurieren Sie die ...

Detaillierte Erläuterung der Nginx-Statusüberwachung und Protokollanalyse

1. Nginx-Statusüberwachung Nginx bietet eine inte...

Detaillierte Erklärung der Rolle und des Prinzips des Schlüssels in Vue

Inhaltsverzeichnis 1. Beginnen wir mit dem Fazit ...

Implementierung der Docker-Container-Verbindung und -Kommunikation

Die Portzuordnung ist nicht die einzige Möglichke...

So installieren Sie Docker unter Windows 10 Home Edition

Ich habe Docker kürzlich verwendet, um ein Projek...

HTML-Auszeichnungssprache - Referenz

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Die am häufigsten verwendete HTML-Escape-Sequenz

In HTML haben <, >, & usw. eine speziell...

Auch Webdesigner müssen Web-Coding lernen

Oftmals wird nach der Fertigstellung eines Webdes...

Übersicht über MySQL-Statistiken

MySQL führt SQL durch den Prozess der SQL-Analyse...