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没有重定向的主要内容,如果未能解决你的问题,请参考以下文章