Джанго запрос.МЕТА - PullRequest
       7

Джанго запрос.МЕТА

2 голосов
/ 16 августа 2010

Если я хочу отобразить более одного элемента запроса. Словарь META:

Как я могу поставить, например, два в этом формате строки:

def myurl(request):
    return HttpResponse("You are %s" % request.META['USER'], "Your IP Adress is " % request.META['REMOTE_ADDR']) 

не работает.

Кроме того, любые идеи, как я могу отображать / извлекать отдельные элементы этого словаря.

Если я хочу запустить более одного через шаблон. Как бы я вставить это в шаблон HTML:

1012 *, например *

{{request.META}}. Это работает для всех? Как я могу отобразить их по одному в каждой строке?

если я хочу, например просто:

HTTP_COOKIE

QUERY_STRING

HTTP_CONNECTION

Как лучше всего отобразить эти 3?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 16 августа 2010

Обновление (после прочтения комментария ОП к этому ответу)

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)
0 голосов
/ 16 августа 2010

Использовать 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 и всему, что в нем содержится. Вы можете использовать тег шаблона отладки для печати своего контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...