0
votes

URL Django personnalisé pour les utilisateurs

Bonjour, j'ai essayé de créer une URL client pour mes utilisateurs, mais cela ne fonctionne pas. Je continue à obtenir Noreversematcherror

Ceci est mon utilisateur_login vues.py p> xxx pré>

Ceci est mon formulaire pour la connexion à login.html p> xxx pré >

Ceci est mon point de vue "home" p> xxx pré>

ceci est mon chemin d'URL sur myApp / urls.py p> xxx pré> Ceci est le login_redirect_url p> xxx pré>

J'essaie d'obtenir mysite.com/home/myusername, mais cela me donne une erreur Noreveremarch P>

P> : P>

NoReverseMatch at /main/
Reverse for 'home' with arguments '('',)' not found. 1 pattern(s) tried: ['main/home/(?P<username>[^/]+)$']


1 commentaires

Pouvez-vous essayer de rendant la valeur de user.Asername et vérifiez que ce n'est pas une chaîne vide?


3 Réponses :


0
votes

pour , vous ne pouvez pas utiliser de tels Chemin (..) code> s, et dans ce cas, vous devez écrire une expression régulière forte>, comme:

path('complete/<int:todo_id>', views.completeTodo, name='complete'),


0 commentaires

0
votes

Essayez d'utiliser Slug pour les noms d'utilisateur .. Parce que lorsque le nom d'utilisateur dispose d'espace entre les mots, l'URL se casse en deux. Slug remplacera l'espace avec -.

Par exemple Nom d'utilisateur est John Mathew, Django recherchera home / john au lieu de home / john mathew . Si vous utilisez la limace pour le nom d'utilisateur, il enverra le nom d'utilisateur comme celui-ci home / john -athew .... essayez ça


0 commentaires

0
votes

Le problème est avec le login_redirect_url et les URL que vous avez créées.

selon la xxx

après la connexion, l'utilisateur est redirigé vers / main / home . Malheureusement, aucun chemin de ce type n'existe dans votre déclaration d'URL. Au lieu de cela, votre URL "HOME" dans URLS.PY a un paramètre supplémentaire nom d'utilisateur introuvable par login_redirect_url , donc l'erreur se produit.

supprimer. Le login_redirect_url à partir des paramètres.py et il devrait fonctionner comme vous le souhaitez.


0 commentaires