Bonjour,
J'en suis à la partie 3 du tutoriel Django :
https://docs.djangoproject.com/en/1.3/intro/tutorial03/
J'ai une erreur assez particulière que j'aimerais vous soumettre.
- Cas exposé dans le tuto
Mon fichier urls.py ressemble à ca:
et mon fichier views.py ressemble à ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 from django.conf.urls.defaults import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^polls/$', 'polls.views.index'), url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'), url(r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'), url(r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'), )
Quand j'appelle la page admin, j'ai l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 from django.http import HttpResponse def index(request): return HttpResponse("Hello, world! You're at the poll index.") def detail(request, poll_id): return HttpResponse("You're looking at poll %s." % poll_id) def results(request, poll_id): return HttpResponse("You're looking at the results of poll %s." % poll_id) def vote(request, poll_id): return HttpResponse("You're voting on poll %s." % poll_id)
Quand j'appelle la page polls, j'ai l'erreur :Caught ViewDoesNotExist while rendering: Tried vote in module polls.views. Error was: 'module' object has no attribute 'vote'
En gros, j'ai l'impression qu'il ne trouve pas 'admin' dans les url patterns pour le premier cas, qu'il le trouve bien mais qu'il n'arrive pas à trouver 'index' dans views.py pour le deuxième cas...Tried index in module polls.views. Error was: 'module' object has no attribute 'index'
- Cas qui fonctionne
Si maintenant, je reviens à un cas plus simple en faisant ressembler mon urls.py à ca:
et que je laisse inchangé views.py alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 from django.conf.urls.defaults import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), #url(r'^polls/$', 'polls.views.index'), #url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'), #url(r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'), #url(r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'), )
- si je demande la page admin, ca fonctionne, j'ai bien ma page admin
- si je demande la page polls, j'ai bien évidemment rien
- Cas qui ne fonctionne plus
Si je rajoute simplement l'url pattern pour polls alors urls.py ressemble à ca:
Et bien, je ne peux plus faire apparaitre la page admin car erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 from django.conf.urls.defaults import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^polls/$', 'polls.views.index'), #url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'), #url(r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'), #url(r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'), )
Je ne peux toujours pas faire apparaitre la page polls car erreur :Caught ViewDoesNotExist while rendering: Tried index in module polls.views. Error was: 'module' object has no attribute 'index'
Tried index in module polls.views. Error was: 'module' object has no attribute 'index'
Bref, y a que le cas où je ne mets que admin dans l'url patterns qui fonctionne...
Pourquoi?
Merci d'avance,
Florian
Partager