2012-01-31 171 views
1

我把这样的一个模板,从我的观点:模板访问request.META.SERVER_NAME

return render_to_response('mytemplate.html', context_instance=RequestContext(request)) 

我试图访问我的当前服务器的主机名(在这种情况下,localhost),但它只需在模板中放置{{request.META.SERVER_NAME}}时打印空白。

在我settings.py文件,我没有任何TEMPLATE_CONTEXT_PROCESSORS定义。我不确定是否需要在那里指定任何内容,或者是否可以解决问题。

回答

2

您必须添加request上下文处理器,系统将自动添加到模板上下文。或者你可以请求明确地添加到语境词典render_to_response('foo', {'request': request})

https://docs.djangoproject.com/en/dev/ref/templates/api/#django-core-context-processors-request

请注意,如果您添加请求上下文处理器,你要记得添加the defaults为好。

+0

感谢。但现在它返回'1.0.0.127.in-addr.arpa'而不是'localhost'。任何想法呢? – babonk 2012-01-31 01:48:43

+0

@babonk,这是一个不同的问题,由于我不是很熟悉的头,我不能回答。 – 2012-01-31 01:57:43

+0

用'request.get_host()'得到它。感谢您的帮助 – babonk 2012-01-31 02:13:33