Python Django模板上下文错误
当我尝试运行我的模板上下文处理器时,我得到了“超过最大递归深度” settings.py如下所示:Python Django模板上下文错误,python,django,Python,Django,当我尝试运行我的模板上下文处理器时,我得到了“超过最大递归深度” settings.py如下所示: TEMPLATE_CONTEXT_PROCESSORS = ( 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.i18n', 'django.core.context_processors.request', 'django.core.context_pro
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',
'cms.context_processors.media',
'sekizai.context_processors.sekizai',
'web.context_content.base_context',
)
web/context_content.py:
from web import models
from django.shortcuts import render
from django.shortcuts import render_to_response
from django.template import RequestContext
#from django.conf import settings
def base_context(request):
categories = models.Category.objects.filter()
return render(request, "base.html", {'categories':categories})
不知道为什么我会犯这样奇怪的错误
更新:my urls.py(站点):
我不确定你想用上下文处理器做什么。它们用于向模板上下文添加项,并且应该始终返回字典:但是由于某些原因,您在函数中呈现模板。由于上下文处理器由渲染快捷方式调用,因此函数最终会调用自身,从而产生无限递归
不要在您的上下文处理器中呈现模板。您可以显示站点的
url.py
和应用程序的url.py
。我的意思是url.py
文件,您在其中定义了站点的所有URL。我已经添加了两个url.py文件
from django.conf.urls.defaults import *
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.conf import settings
from django.contrib.auth.views import login, logout
from web import views
from web import forms
admin.autodiscover()
urlpatterns = i18n_patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^register/$', views.register),
url(r'^login/$', views.login),
#url(r'^index/$', include('web.urls'))
url(r'^', include('cms.urls'))
)
if settings.DEBUG:
urlpatterns = patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
url(r'', include('django.contrib.staticfiles.urls')),
) + urlpatterns
from django.conf.urls.defaults import *
from django.contrib import admin
from django.conf import settings
from django.conf.urls import patterns, include, url
from web import views
from web import forms
admin.autodiscover()
urlpatterns = patterns('web.views',
#url(r'^', views.base_context),
)