Domanda

Sto seguendo il tutorial di Django e sono rimasto bloccato con un errore nella parte 4 del tutorial.Sono arrivato alla parte in cui sto scrivendo il votazione vista, che utilizza inversione per reindirizzare a un'altra vista.Per qualche ragione, il reverse fallisce con la seguente eccezione:

importare() l'argomento 1 deve essere una stringa, non un metodo di istanza

Attualmente l'urls.py del mio progetto assomiglia a questo:

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

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

e l'app urls.py è:

from django.conf.urls.defaults import *

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

E il punto di vista del voto è:(L'ho semplificato per avere solo la riga con l'errore)

def vote(request, poll_id):
    return HttpResponseRedirect(reverse('mysite.polls.views.results', args=(1,)))

Quando rimuovo gli URL di amministrazione inclusi dall'urls.py del progetto, ad es.trasformandolo in:

urlpatterns = patterns('',
    (r'^polls/', include('mysite.polls.urls')),
#(r'^admin/(.*)', include(admin.site.root)),
)

funziona.

Ho provato così tante cose e non riesco a capire cosa sto facendo di sbagliato.

È stato utile?

Soluzione

Il modo in cui includi gli URL di amministrazione è cambiato alcune volte nelle ultime due versioni.È probabile che tu stia utilizzando le istruzioni sbagliate per la versione di Django che hai installato.

Se stai utilizzando il trunk attuale, ovvero non una versione ufficiale, la documentazione all'indirizzo http://docs.djangoproject.com/en/dev/ è corretta.

Tuttavia, se stai utilizzando la versione 1.0.2, dovresti seguire il collegamento nella parte superiore della pagina http://docs.djangoproject.com/en/1.0/.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top