Nach dem Einrichten der All-Auth App, wenn Benutzer sich anmeldet, wird er umgeleitet: accounts/profile/
Seite, die uns sagt, dass die Ansicht nicht ' t existieren.Django all-auth app, wie man/account/profile page um benutzerdefinierte Ansicht anzuzeigen
Ich versuche herauszufinden, was für eine Sache dort enthalten ist, und entschied, dem Benutzer zu erlauben, ihre grundlegenden Informationen zu ändern.
Ich habe eine users
App mit einem Teacher
Modell, das wie folgt aufgebaut ist:
class Teacher(models.Model):
user = models.ForeignKey(User, unique=True)
rate = models.CharField(max_length=200)
availability = models.BooleanField(default=False)
verified = models.BooleanField(default=False)
Ich möchte die accounts/profile/
Seite ein Formular zeigen, die diese Informationen enthalten. Der Benutzer kann diese Felder bearbeiten und auch deren Vorname, Nachname und E-Mail bearbeiten, die zu einem anderen Modell gehören - User
.
Ich kann nicht scheinen, damit anzufangen. Wenn ich eine Detailansicht für die Profilseite erstellt, erhalte ich eine Fehlermeldung, dass:
Kein PK oder SLUG bereitgestellt
Ich möchte Django den aktuellen Benutzer Informationen ändern, nicht auf der Grundlage der Primärschlüssel in der URL. Benötige ich eine benutzerdefinierte Ansicht? Ich habe [andere Lösungen 1 betrachtet, aber sie scheinen den privaten Schlüsselparameter zu verwenden.
Was ich brauche, ist eine Arbeits-View-Funktion, etwas Ähnliches (nicht funktioniert):
def get_teacher_info(request):
current_user = request.user
teacher = get_object_or_404(Teacher, username=current_user.username)
return render(request, 'account/profile.html', {
'user':current_user,
'teacher': teacher,
'error_message': "The field is blank",
})
und in der accounts/urls.py
Ich habe hinzugefügt:
url(r"^profile/$", views.get_teacher_info, name="account_profile"),
aber wenn ich machen Anrufe wie in der HTML-Vorlage, bekomme ich: Ungültige Block-Tag in Zeile 5: 'teacher.rate'. Hast du vergessen, dieses Tag zu registrieren oder zu laden?
Haben Sie Folgendes festgelegt: LOGIN_REDIRECT_URL, ACCOUNT_SIGNUP_FORM_CLASS & ACCOUNT_ADAPTER in settings.py? – pije
Und bitte versuchen Sie es auch: url (r "^ profile/$", ansichten.get_teacher_info, name = "get_teacher_info"), – pije
Ich habe das oben nicht eingestellt, aber ich hob den Code von der Standard-Umfragen App. Und es funktioniert dort, ohne diese Variablen zu setzen. Ich versuchte auch den 2. Kommentar, ohne Erfolg – Roma