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
Quelle des Problems: Wenn der Slave-Server der ge...
<meta http-equiv="x-ua-kompatibel" co...
Vorwort Verwenden Sie nginx zum Lastenausgleich. ...
Website-Link: http://strml.net/ Von Samuel Reed T...
Finden Sie das Problem Als ich mich kürzlich über...
Inhaltsverzeichnis Wo ist der Quellcode des Apple...
Dieser Artikel enthält einige häufig verwendete U...
Zweck Verstehen Sie die Rolle von nextTick und me...
Ich bin heute bei der Arbeit auf ein SQL-Problem ...
Hintergrund Als ich kürzlich SQL-Anweisungen schr...
Beim Erstellen von Webseiten tritt häufig das Pro...
Inhaltsverzeichnis Verstehen Sie das Kernkonzept ...
Inhaltsverzeichnis 1. Stoppen Sie zuerst den MySQ...
Dieser Artikel stellt hauptsächlich die Lösung fü...
In diesem Artikel werden hauptsächlich die Unters...