如果我想显示request.META词典的多个项目:
我怎样才能举例如这个字符串格式为两个:
def myurl(request):
return HttpResponse("You are %s" % request.META['USER'], "Your IP Adress is " % request.META['REMOTE_ADDR'])
不起作用。
此外,任何想法如何显示/提取该词典的选择性项目。
如果我想通过模板运行多个。我如何在html模板中插入它:
e.g。
{{request.META}}。这适用于所有人吗?如何在每行显示一个?
如果我想要,例如只是:
HTTP_COOKIE
QUERY_STRING
HTTP_CONNECTION
显示3的最佳方式是什么?
谢谢!
答案 0 :(得分:2)
更新(在阅读OP对此答案的评论后)
这里的template
只是一个带有嵌入格式选项的字符串。
1)不必将其称为template
def myurl(request):
place_holders = "You are %(user)s; your IP address is %(ipaddress)s"
options = dict(user = request.META['USER'], ipaddress = request.META['REMOTE_ADDR'])
return HttpResponse(place_holders % options)
2)你可以完全取消它内联。这纯粹是编码风格/偏好的问题。
def myurl(request):
return HttpResponse("You are %s; your IP address is %s" % (request.META['USER'], request.META['REMOTE_ADDR']))
原始答案
对问题的第一部分做出快速而肮脏的回答:
def myurl(request):
template = "You are %(user)s; your IP address is %(ipaddress)s"
options = dict(user = request.META['USER'], ipaddress = request.META['REMOTE_ADDR'])
return HttpResponse(template % options)
答案 1 :(得分:0)
使用RequestContext:
from django.template import RequestContext
from django.shortcuts import render_to_response
def myurl(request):
return render_to_response('template.html', {},
context_instance=RequestContext(request))
然后,您将可以访问request.META及其包含的所有内容。您可以使用调试模板标记来打印上下文。