【问题标题】:Accessing request.META.SERVER_NAME in template在模板中访问 request.META.SERVER_NAME
【发布时间】:2012-02-22 19:20:52
【问题描述】:

我认为这样的模板是这样的:

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

我正在尝试访问我当前服务器的主机名(在本例中为 localhost),但是当我将 {{request.META.SERVER_NAME}} 放入模板时它只是打印为空白。

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

【问题讨论】:

    标签: django django-templates django-views django-settings


    【解决方案1】:

    您必须添加request 上下文处理器才能将其自动添加到模板上下文中。或者您可以将请求显式添加到上下文字典render_to_response('foo', {'request': request})

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

    请注意,如果您添加请求上下文处理器,您应该记得添加the defaults

    【讨论】:

    • 谢谢。现在它返回1.0.0.127.in-addr.arpa 而不是localhost。有什么想法吗?
    • @babonk,这是一个不同的问题,我无法回答,因为我对标题不太熟悉。
    • 收到request.get_host()。感谢您的帮助
    猜你喜欢
    • 2011-01-04
    • 2011-10-04
    • 2012-09-06
    • 2016-01-17
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2011-07-10
    相关资源
    最近更新 更多