Я следую учебнику Django и застрял с ошибкой в части 4 урока. Я добрался до той части, где я пишу голос, который использует обратный для перенаправления на другой вид. По какой-то причине, обратный сбой за исключением следующего:Django: сбой обратной функции с исключением
импорта() аргумент 1 должен быть строкой, а не instancemethod
В настоящее время urls.py моего проекта выглядит следующим образом:
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)),
)
и приложение 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'),
)
И вид голосования: (я упростил его иметь только строку с ошибкой)
def vote(request, poll_id):
return HttpResponseRedirect(reverse('mysite.polls.views.results', args=(1,)))
Когда я извлекаю администратор URLs включает от urls.py проекта, то есть превращение его в:
urlpatterns = patterns('',
(r'^polls/', include('mysite.polls.urls')),
#(r'^admin/(.*)', include(admin.site.root)),
)
Это работает.
Я пробовал так много вещей и не могу понять, что я делаю неправильно.
Genius! :) Все, что мне нужно было сделать, это изменить включение URL-адресов администратора в urlspattern: (r '^ admin /(.*)', admin.site.root), вместо: (r '^ admin/(. *) ', include (admin.site.root)), Спасибо! – arikfr