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> Ceci est mon formulaire pour la connexion à login.html p> Ceci est mon point de vue "home" p> ceci est mon chemin d'URL sur myApp / urls.py p> 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>[^/]+)$']
3 Réponses :
pour django-1 .x , 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'),
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 -. p>
Par exemple Nom d'utilisateur est John Mathew, Django recherchera home / john code> au lieu de
home / john mathew code>. Si vous utilisez la limace pour le nom d'utilisateur, il enverra le nom d'utilisateur comme celui-ci
home / john -athew code> .... essayez ça p>
Le problème est avec le selon la p> après la connexion, l'utilisateur est redirigé vers supprimer. Le login_redirect_url code> et les URL que vous avez créées.
/ main / home code>.
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 code> introuvable par
login_redirect_url code>, donc l'erreur se produit. P>
login_redirect_url code> à partir des paramètres.py et il devrait fonctionner comme vous le souhaitez. p> p>
Pouvez-vous essayer de rendant la valeur de
user.Asername code> et vérifiez que ce n'est pas une chaîne vide?