Django TemplateSyntaxError

Я следую учебнику Django, и вдруг, когда я пытаюсь получить доступ к http://127.0.0.1:8000/admin/, он дает мне TemplateSyntaxError.

TemplateSyntaxError at / admin /

Caught ViewDoesNotExist при рендеринге: Пробные результаты в модуле polls.views. Ошибка: объект 'module' не имеет атрибутов 'results'

Он выделяет эту строку: {% url 'django-admindocs-docroot' как docsroot%}

Страница администратора работала как шарм, пока я не добрался до части 3 урока и не испортил URL-адреса, хотя я сделал это точно так, как они сказали, поэтому я сомневаюсь, что это проблема.

urls.py:

from django.conf.urls.defaults import * from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', (r'^polls/$', 'polls.views.index'), (r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'), (r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'), (r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'), (r'^admin/', include(admin.site.urls)), ) 

admin.py:

 from polls.models import Poll from polls.models import Choice from django.contrib import admin class ChoiceInline(admin.TabularInline): model = Choice extra = 0 class PollAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question']}), ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), ] inlines = [ChoiceInline] list_display = ('question', 'pub_date') list_filter = ['pub_date'] search_fields = ['question'] date_hierarchy = 'pub_date' admin.site.register(Poll, PollAdmin) 

views.py:

 from django.http import HttpResponse from polls.models import Poll from django.template import Context, loader def index(request): latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5] t = loader.get_template('polls/index.html') c = Context({ 'latest_poll_list': latest_poll_list, }) return HttpResponse(t.render(c)) def detail(request, poll_id): return HttpResponse("You're looking at poll %s. " % poll_id) def vote(request, poll_id): return HttpResponse("You're voting on poll %s." % poll_id) 

One Solution collect form web for “Django TemplateSyntaxError”

 Caught ViewDoesNotExist while rendering: Tried results in module polls.views. Error was: 'module' object has no attribute 'results' 

Это почти все, что вам нужно. Игнорируйте TemplateSyntaxError , он вообще не связан с шаблоном. Джанго говорит вам, что у вас этого нет:

 def results(request): # do something 

На вашем view.py. Вы получите ошибки ViewDoesNotExist за пределами администратора, когда начнете писать URL-адреса и ссылаетесь на функции, которые на самом деле не существуют в них, поэтому убедитесь, что по мере того, как вы продвигаетесь, вы либо гарантируете, что у вас есть такие функции-заглушки, которые возвращают только базовый 200, или вы прокомментируйте эти URL-адреса, пока они вам не понадобятся.

С технической точки зрения это расширение ошибки python. Если вы запустили:

 $ python manage.py shell >>> from poll import views x = views.results 

Вы получите AttributeError .

Поскольку вы спросили, почему, если вы посмотрите в Django/core/urlresolvers.py вы увидите строку:

 _callable_cache = {} # Maps view and url pattern names to their view functions. 

Таким образом, в основном кеш отображения (URL-адреса или любые другие) для функций выполняются в виде хэш-карты (словаря). Это построено с помощью этой функции:

 def _get_callback(self): if self._callback is not None: return self._callback try: self._callback = get_callable(self._callback_str) except ImportError, e: mod_name, _ = get_mod_func(self._callback_str) raise ViewDoesNotExist("Could not import %s. Error was: %s" % ( mod_name, str(e))) except AttributeError, e: mod_name, func_name = get_mod_func(self._callback_str) raise ViewDoesNotExist("Tried %s in module %s. Error was: %s" % ( func_name, mod_name, str(e))) return self._callback callback = property(_get_callback) 

Кто оценивает каждый обратный вызов, чтобы проверить его существование (новые строки являются моими).

  • SQS с конфигурацией сельдерея
  • Django - использование другого почтового сервера для электронных писем администратора
  • Что делает это «-» в движке шаблонов jinja2?
  • Можно ли переопределить метод, используемый для вызова страницы подтверждения удаления администратора Django?
  • Статические файлы Django не загружаются с настройкой по умолчанию
  • AttributeError: <связанный метод Manager.get из <django.db.models.manager.Manager
  • Что такое замена DateModifierNode в новых версиях Django
  • Как вы сериализуете экземпляр модели в Django?
  • Django: request.GET и KeyError
  • Попытка получить приложение django для работы с mod_wsgi на CentOS 5
  • Использование слоя базы данных Django за пределами Django?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.