So das Standardmodell Django User
ermöglicht Nutzernamen, ein paar seltsame Zeichen zu haben - z. Ich kann einen Benutzer mit dem Namen '@. + -_' einrichten. Ich habe jedoch eine Benutzerprofilseite erstellt, deren URL vom Benutzernamen abhängig ist. Ich möchte die Benutzername statt User_id verwenden, weil es besser lesbar ist:django Benutzername-bezogene URL-Auflösung schlägt fehl, wenn der Benutzername ungerade Zeichen hat
url(r'^public_profile/(?P<username>[\w\d]+)$',
views.public_profile,
name='public_profile'),
Dies funktioniert für die meisten Anwender in Ordnung, aber wenn ein Benutzer mit einem funky Namen - zum Beispiel '@. + -_' wird nachgeschlagen, die Seite public_profile schlägt mit einem Fehler fehl. -> Also dachte ich, ich könnte ein 'slug' Feld zum User
Modell hinzufügen, und das plus die user_id in der URL verwenden (so dass die Slugs nicht versehentlich kollidieren), aber ich bin mir nicht sicher, wie ich das User
modifizieren kann Modell, da es ein Teil von Django ist. Irgendwelche Ideen, wie man das macht?
Dank
Man. Ich weiß, dass Kommentare nicht für Dankeschöns verwendet werden sollten ... Aber du hast mir gerade eine Menge Zeit verschwendet! Ich habe mich ganz auf das Falsche konzentriert. +10 Große Antwort. –