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. 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); } ); EinloggenFormular 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:
|
<<: Das Linux-System verbietet den Remote-Login-Befehl des Root-Kontos
>>: Detaillierte Erklärung zur Verwendung der Funktion find_in_set() in MySQL
Während der Django-Webentwicklung wird beim Schre...
Inhaltsverzeichnis Vorwort Konfigurieren Sie die ...
Vertikaler Tisch Vertikale Tabellenaufteilung bed...
1. Nginx-Statusüberwachung Nginx bietet eine inte...
Inhaltsverzeichnis 1. Beginnen wir mit dem Fazit ...
Die Portzuordnung ist nicht die einzige Möglichke...
Inhaltsverzeichnis 1. mysqldump-Befehl zum Sicher...
Ich habe Docker kürzlich verwendet, um ein Projek...
Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...
Lösung: Binden Sie das Klickereignis an die Audio...
Einführung Wenn Sie mit der Verwendung von JDBC z...
In HTML haben <, >, & usw. eine speziell...
Oftmals wird nach der Fertigstellung eines Webdes...
MySQL führt SQL durch den Prozess der SQL-Analyse...
Während der heutigen Vorlesung habe ich über den ...