Django Url - ne peut pas s'inverser url dans un modèle
Je pense que j'ai besoin d'une deuxième paire d'yeux.
L'exemple ci-dessous doivent être explicites.
Tout ce que je besoin est d'être en mesure d'inverser mon url dans le modèle.
/urls.py
urlpatterns = patterns('',
(r'^products/', include('products.urls')),
)
/products/urls.py
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('products.views',
url(r'^$', view="index", name="index"),
)
/templates/products/index.html
<a href="{% url products:index %}"> Products </a>
Mise à JOUR
Plein stacktrace - http://pastebin.com/9nLp4uP5
OriginalL'auteur howtodothis | 2011-11-23
Vous devez vous connecter pour publier un commentaire.
La syntaxe a changé après Django 1.5
Au lieu de faire ceci:
<a href="{% url products_index %}"> Products </a>
Que vous devez faire maintenant ce(string):
<a href="{% url 'products_index' %}"> Products </a>
OriginalL'auteur JOSEFtw
Vous pourriez essayer ceci à la place:
/templates/products/index.html
Moins qu'il y a une raison impérative vous voulez de l'espace de noms de votre url, c'est beaucoup plus facile que d'utiliser un nom précis dans
urls.py
et ensuite utiliser ce nom dans leurl
balise de modèle.Mise à jour
Si l'erreur que vous obtenez est
No module named urls
, alors cela signifie que l'un des urls.py les fichiers n'est pas lue par le projet django. Avez-vous vous assurer queproducts
a été ajouté àINSTALLED_APPS
dans lesettings.py
fichier? Aussi, veuillez inclure une stacktrace dans votre question, de sorte qu'il sera plus facile de déterminer où l'erreur est de prendre place.vous ne précisez pas que vous avez été d'obtenir cette erreur dans votre question initiale. Vous devez ajouter le stacktrace à votre question.
Ajouté stacktrace à la question
OriginalL'auteur Jordan Reiter