Ich bin relativ neu in Django und Web-Entwicklung im Allgemeinen. Grundsätzlich möchte ich eine eingeloggte Benutzerdaten aus einer Datenbanktabelle abrufen, so dass er auf einer Seite "Mein Profil" anzeigen/bearbeiten kann.Django - Wie kann man eingeloggte Benutzerdaten aus einer Datenbanktabelle abrufen?
Ich denke, der beste Weg, dies zu tun wäre, die angemeldete Benutzer 'ID' anrufen, dann verwenden Sie es irgendwie, um die Zeile in der Datenbanktabelle, die ich will, aufzurufen? Dies ist
, wie weit ich habe, aber ich will nicht den ‚id‘ des Benutzers in der URL, ich will die ‚Reihe id‘ Benutzer in der Datenbanktabelle:
urls.py
url(r'^my-profile/(?P<id>[0-9]+)', my_profile, name="my_profile"),
views.py
user = request.user
Vorlage
<a href="{% url 'my_profile' id=user.id %}">My profile</a>
Jede Hilfe wäre sehr willkommen!
Mein aktueller Code:
models.py
class BarSignUp(models.Model):
LOCATION_CHOICES=(
("Central London", "Central London"),
("North London", "North London"),
("East London", "East London"),
("South London", "South London"),
("West London", "West London"),
)
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
name = models.CharField(max_length=50)
bio = models.CharField(max_length=50)
area = models.CharField(max_length=50, choices=LOCATION_CHOICES, null=True)
booking_link = models.CharField(max_length=100, null=True)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
def __str__(self):
return self.email
def get_absolute_url(self):
return reverse("barber_profile", kwargs={"id": self.id})
Was meinst du mit 'row id in der Datenbanktabelle'? –
@GrzegorzOledzki In der mySQL-Tabelle möchte ich die Daten von dort sind zwei 'ID' Spalten, der Benutzer 'ID' und die Zeile 'ID'. Um die Benutzerdaten auf der Seite "Mein Profil" aufzurufen, muss ich die Zeile "ID" zur URL hinzufügen (z. B. my-profile/3).Zurzeit kann ich die 'id' des Benutzers leicht mit der 'user = request.user' Funktion oben zur URL hinzufügen, aber ich habe keine Ahnung, wie man das benutzt, um die relevanten Daten aufzurufen. –
Die 'user.id' __IS__ die" row id "(Wert für das Primärschlüssel-DB-Feld" id "in Ihrer" django_user "-Tabelle) - aber Sie müssen es nicht von der Datenbank abrufen, es ist bereits in' request.user' vorhanden. –