Django没有重定向

Posted

技术标签:

【中文标题】Django没有重定向【英文标题】:Django No redirections 【发布时间】:2010-01-25 09:13:45 【问题描述】:

我有一个 flash 文件,它调用如下网址:http://test.com/savethis/123456/

我只想让我的视图在数据库中保存“123456”并且什么都不返回。

保存值后我该怎么办?如果我重定向它,它会更改页面,这很糟糕。我可以渲染一个页面,但我不想。我只是希望它结束​​而不抛出任何错误。

【问题讨论】:

只有我不明白这个问题吗? @S.Mark - 不,我猜测他想要什么。我们会看看我是否正确! 对于这个抽象的问题,我很抱歉,@Dominic 你是对的 :) 除了我的声望是 131 而你是 13k 的原因之外:P 这可能对***.com/questions/17557618/…有帮助 【参考方案1】:

确保您的 URLConf 指向您想要的视图函数,并编写如下内容:

from django.http import HttpResponse
from my_models import MyModel

def myview(request, number):
    my_model = MyModel(my_field = number)
    my_model.save()
    return HttpResponse()

最后的空 HttpResponse 会发回 200 OK 的状态代码,以便连接到您的端点的浏览器或其他服务器知道请求已完成。

【讨论】:

应该可以解决它:D 基本上我在 Flash 所以我想我会忽略响应,它会正常工作:) 感谢您的帮助。 用navigateUrl 从flash 做这件事是行不通的。它给了我一个弹出窗口,而不是在后台默默地做。【参考方案2】:

听起来你在一个视图函数中,这意味着有人发出了一个 HTTP 请求,你必须响应,所以你不能什么都不做。

要么返回错误代码,要么返回HttpResponse。您可以只返回一个空的 OK 响应(即返回 HTTP 响应 200):

from django.http import HttpResponse

def myview(request):
    return HttpResponse()

【讨论】:

以上是关于Django没有重定向的主要内容,如果未能解决你的问题,请参考以下文章

Django没有重定向

django 重定向

基于Python+Django重定向的例子

django重定向导致重定向到下一页,但然后返回原始?

是否可以在 Django 中重定向到没有 AJAX 的条带结帐页面?

重定向vs反向django