2012-10-30 2 views
1

나는 그것을 평가할 수 있도록 장고 웹 사이트에서 실행되는 Zinnia를 얻으려고합니다. 나는 모든 의존성과 모든 것을 잘 관리 할 수 ​​있었고 관리 도구를 사용하여 몇 개의 게시물을 만들었지 만 이제는 액세스하는 데 오류가 있습니다!초속 시작 문제

오류 : 참고로

KeyError at /weblog/2012/10/12/test-post/ 

'request' 

Request Method:  GET 
Request URL: http://127.0.0.1:8000/weblog/2012/10/12/test-post/ 
Django Version:  1.4.1 
Exception Type:  KeyError 
Exception Value: 'request' 

Exception Location:  /usr/local/lib/python2.7/site-packages/django/template/context.py in __getitem__, line 54 
Python Executable: /usr/local/bin/python 
Python Version:  2.7.3 
Python Path:  

['/home/ubuntudev/webtest/twsite', 
'/usr/local/lib/python2.7/site-packages/setuptools-0.6c12dev_r88846-py2.7.egg', 
'/usr/local/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg', 
'/usr/local/lib/python27.zip', 
'/usr/local/lib/python2.7', 
'/usr/local/lib/python2.7/plat-linux2', 
'/usr/local/lib/python2.7/lib-tk', 
'/usr/local/lib/python2.7/lib-old', 
'/usr/local/lib/python2.7/lib-dynload', 
'/usr/local/lib/python2.7/site-packages'] 

, 여기 내 settings.pyurls.py입니다. 후자는 내가 생각할 수있는 모든 것을 망쳐 놓았 기 때문에 엄청난 엉망이다.

나는 장고와 지니아에 젖은 채로 젖을 'm니다. 답안을 잘 설명 해주십시오. 미리 감사드립니다.

답변

3

장고에는 (here's a good blog post about them))이라는 변수를 전달하는 시스템이 있습니다.이 템플릿은 모든 단일 템플릿에 특정 정보를 갖고 싶을 때 유용합니다. 예를 들어, 모든 템플릿을 추가하지 않으려는 경우 모든보기/템플릿에 대한 탐색 메뉴 링크를 대신 템플릿 프로세서를 작성하여 해당 링크를 모든 템플릿의 목록으로 전달할 수 있습니다.

대부분의 앱에 상당히 중요한 일부 컨텍스트 프로세서가 있습니다. django.core.context_processors.request은 현재 요청 객체를 모든 템플릿에 전달합니다. 템플릿의 {{ request }} 변수에 액세스 할 수 있으므로 사용자가 가지고있는 헤더 등에 대한 정보를 얻을 수 있습니다. nt (as well as much more).

어쨌든, 짧게 이야기하면, 당신은 당신의 설정에서 위의 django.core.context_processors.request을 비활성화 :

#TEMPLATE_CONTEXT_PROCESSORS = (
#  "django.contrib.auth.context_processors.auth", 
#  'django.core.context_processors.i18n', 
#  'django.core.context_processors.request', 
#  'django.core.context_processors.media', 
#  'django.core.context_processors.static', 
#  'zinnia.context_processors.version', 
#) 

그래서 그 모든 주석과 나는이를 게시하기 전에 이런 짓을하면 당신은

+0

괜찮을 것 질문, 모듈'django.core.context_processors "가 관리 콘솔에서"auth "호출 가능 요청 프로세서를 정의하지 않았습니다. 나는 컨텍스트 프로세서와 다른 settings.py 변수 사이에 (USE_I18N과 같은) 많은 겹침을 보았 기 때문에 그들을 주석 처리했다. 분명히, 나는이 컨텍스트 프로세서에 대해 다른 잘못된 것을하고있다. 여기에 답장을 하시겠습니까, 아니면 다른 질문을하기를 원하십니까? – tmesser

+0

''django.core.context_processors.auth''는''django.contrib.auth.context_processors.auth ''이어야합니다. Auth는 django의 핵심 애드온 인 인증 패키지이므로'contrib' 패키지에 있습니다. 나는 그것을 반영하기 위해 나의 대답을 편집했다 –

+0

그게 다야! 도와 주셔서 감사합니다. – tmesser