Итак, я использую Django с Google App Engine, и у меня есть файл urls.py, который перенаправляет каждый URL-адрес в соответствующий метод. Каждому из этих методов автоматически передается «запрос» в качестве одного из аргументов, который я считаю объектом HttpRequest.
Как мне создать этот заполненный объект запроса из моего кода? Например, если я нахожусь в каком-то методе глубоко внутри моего кода, я хотел бы иметь доступ к этому объекту запроса без необходимости передавать его каждой функции, чтобы убедиться, что он доступен. Предполагая, что urls.py вызывает метод foo, в настоящее время я делаю это так:
foo(request):
# stuff here
bar(request)
# more stuff here
bar(request):
# stuff here<stuff>
baz(request)
# more stuff here
baz(request):
do something with request here
Это кажется неправильным, потому что мне приходится передавать запрос через функции, которые ему не нужны, просто чтобы он был доступен в baz.
Я бы хотел сделать что-то вроде:
foo(request):
# stuff here
bar()
# more stuff here
bar():
# stuff here
baz()
# more stuff here
baz():
request = HttpRequest()
do something with request here
т.е.. Не передавайте запрос, если мне не нужно. Однако, делая запрос = HttpRequest ()
возвращает пустой объект запроса ... то, что я хочу, это полностью заполненная версия, как то, что передается в каждый метод, вызываемый из urls.py.
Я просмотрел документацию по HttpRequest здесь:
http://docs.djangoproject.com/en/dev/ref/request-response/
но не видел, как это сделать.
Любые мысли будут с благодарностью.
Спасибо,
Райан