9
votes

Templatetag de Django URL (mais pas inverse ()) Erreur: attrapé Norefersematch tout en rendu

J'essaie d'utiliser l'étiquette de modèle d'URL en tant que telle: xxx pré>

mais quand j'en affiche la page, je reçois cette erreur: p>

reverse('all-labs-map') 


7 commentaires

On dirait que tu fais tout ça bien et que tu as un mystère. S'il vous plaît mettre à jour lorsque vous le comprenez.


La seule chose que je peux penser est, avez-vous redémarré le service Nginx après avoir apporté les modifications à vos URLs.py etc.? En règle générale, vous devez redémarrer le service après avoir modifié les fichiers .PY - ne le faisez pas, cela provoquera une inverse () et {% URL%} pour travailler intermittente et ne pas fonctionner


@skyl a raison, le urlnode appellerait éventuellement inverse ('all-lab-maps', (), {}, contex.current_app) , qui fonctionne pour vous, ce qui fonctionne pour vous, C'est donc définitivement autre chose.


Juste pour m'assurer que j'ai redémarré Nginx et le problème est toujours là.


Vous découvrirez jamais ce qui se passait ici?


Pas vraiment ... j'ai déplacé exactement le même code à un nouveau virtualenv et qui a résolu le problème. Il a également ajouté à ma confusion.


J'ai le même problème.


3 Réponses :


0
votes

Cette erreur peut se produire si vous avez une autre URL avec le même nom, remplacant celui-ci qui nécessite plusieurs paramètres. Existe-t-il des doublons trouvés lorsque vous effectuez une recherche dans votre projet pour "All-Labs-Carte"?


3 commentaires

La seule URL nommée avec le nom All-Labs-Carte est celle que j'ai mentionnée ci-dessus.


Hmm ... cette autre idée élémentaire ... Mais toute chance que le fichier principal de l'URLS ne pointe pas de gmaps.urls?


Eh bien, inverse ('All-Labs-Carte') ne fonctionnerait pas si cela n'a pas été signalé, car l'URL (R '^ Lab_list / $', 'All_Labs', Nom = "Tout-labs-map"), est dans mes gmaps.urls. Merci d'avoir essayé de toute façon;) laissez-moi savoir si vous avez d'autres idées.



1
votes

Avez-vous essayé de joindre le nom de l'URL dans des guillemets comme: xxx

ou xxx

J'ai eu des problèmes avec des URL une fois et cela semblait aider. En ce qui concerne le commentaire @ user608133 - Vous devez redémarrer GunCorn plutôt que Nginx, car Nginx est juste un proxy ...


3 commentaires

J'avais le contraire - ne travaillerait pas dans des célibataires mais sans guillemets cela n'a pas fonctionné. Les docs l'ont aussi dans les citations ..


Quant à moi, j'ai reçu ce type d'erreur très (URL nommé, travaillant dans des vues et shell, mais d'élevage d'erreurs de modèle). Votre post rend mon attention sur les citations et l'alto! - Cela a commencé à travailler quand je les ai supprimés. C'est une sorte de comportement étrange, mais c'est un fait ...


Je suis content que cela vous ait aidé les gars. J'ai trop expérimenté un comportement imprévisible au fil du temps ... peut-être que ce ne sont que des versions différentes de Django ...



6
votes

Ceci est toujours élevé dans les résultats de Google, mais personne n'a pas encore répondu correctement. La clé est la suivante: xxx

avant Django 1.3, il s'agissait de la syntaxe de l'URL templatetag: xxx < P> Dans Django 1.5, ce sera la syntaxe: xxx

Démarrage de Django 1.3 , l'ancienne version fonctionne mais vous donne un avertissement de dépréciation, vous indiquant à {% de chargement URL de futur%} et Passez à la nouvelle version de ce templatetag, en préparation de Django 1.5


0 commentaires