Why RequestContext is not working?

想通过设置TEMPLATE_CONTEXT_PROCESSORS ,在模板里使用request。很多资料提示,修改settings.py文件,加上
TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.request',
)
覆盖掉global_settings.py里的设置

但是,很少有人会提醒,如果你要让这些设置生效的话在view里,渲染模板的时候,Context实例需要处理一下,举个例子

from  django.http  import  HttpResponse
from  django.template.loader  import  get_template
from  django.template  import  RequestContext

def  index(request):
    t 
=  get_template( ' index.html ' )
    html 
=  t.render(RequestContext({  ' title '  :  ' INDEX PAGE ' }))
    
return  HttpResponse(html)

这样是不行的,因为render的时候,使用了一个全新的RequestContext,前面设置产生的结果,全部丢失了!

应该这样就没问题了

from  django.http  import  HttpResponse
from  django.template.loader  import  get_template
from  django.template  import  RequestContext

def  index(request):
    t 
=  get_template( ' index.html ' )
    context 
=  RequestContext(reuqest)
    context[
' title ' =   ' INDEX PAGE '
    html 
=  t.render(context)
    
return  HttpResponse(html)

你可能感兴趣的:(html,import)