gpt4 book ai didi

django - 如何在 Django 中创建请求对象?

转载 作者:太空宇宙 更新时间:2023-11-03 15:23:27 25 4
gpt4 key购买 nike

因此,我将 Django 与 Google App Engine 一起使用,并且我有一个 urls.py 文件,该文件将每个 url 重定向到相应的方法。这些方法中的每一个都自 Action 为参数之一传递“请求”,我认为它是一个 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

即如果我不需要,不要传递请求。但是,做 request = HttpRequest()返回一个空的请求对象...我想要的是一个完全填充的版本,就像传递到从 urls.py 调用的每个方法中的内容一样。

我在这里浏览了 HttpRequest 的文档: http://docs.djangoproject.com/en/dev/ref/request-response/但没有看到这样做的方法。

如有任何想法,我们将不胜感激。

谢谢,瑞安

最佳答案

request = HttpRequest() 会给你一个空的,但你可以写一些东西给它。

这是我在项目中使用的示例:

def new(request):
...
newrequest = HttpRequest()
newrequest.method = 'GET'
newrequest.user = request.user
resp = result_email(newrequest , obj-id , token )
send_email( resp , ... )
return HttpResponseRedirect( ... )
...
def result_email(request , ...):
...
return render(request , ...)

关于django - 如何在 Django 中创建请求对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2097899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com