Question

Je suis suivant le tutoriel sur le site Django, mais je suis en train de développer sur elle. Je aime le schéma d'organisation de mettre toutes vos applications dans un dossier « apps ». J'essaie de trouver la bonne façon d'inclure urls.py afin d'obtenir tout pour relier ensemble.

Voici mon urls.py racine:

from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^polls/', include('apps.polls.urls')),
    (r'^admin/', include(admin.site.urls)),
)

Voici mon urls.py à apps / sondages / urls.py:

from django.conf.urls.defaults import *

urlpatterns=patterns('polls.views',
    (r'^polls/$', 'index'),
    (r'^polls/(?P<poll_id>\d+)/$', 'detail'),
    (r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
    (r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
)

Quelle est la bonne façon de le faire? Merci!

Était-ce utile?

La solution

La façon dont vous avez actuellement il mis en place ... les URL des sondages serait:

http://your.url.here/polls/polls/235/results/

Ceci est probablement pas ce que vous voulez. La fonction include dans le urlpatterns dans le fichier urls.py racine spécifie "polls/" comme préfixe à tous urlpatterns dans l'application des sondages. Par conséquent, dans les sondages / fichier urls.py, vous ne devez pas spécifier à nouveau le préfixe "polls/" car il entraînera des préfixes en double.

Autres conseils

Comment vous exécutez vos instances Django? Si vous avez plusieurs serveurs virtuels configurés dans Apache puis chaque instance Django dans / apps a sa propre urls.py.

Je l'ai au travail en faisant ceci:

urlpatterns=patterns('polls.views',
    (r'^$', 'index'),
    (r'^(?P<poll_id>\d+)/$', 'detail'),
    (r'^(?P<poll_id>\d+)/results/$', 'results'),
    (r'^(?P<poll_id>\d+)/vote/$', 'vote'),
)

Je suppose que la partie des sondages est pris en charge dans la racine URLconf

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top