0

我正在使用 Django 中的开箱即用管理模块来开发一个小型电影管理器。

我通过传递这部电影的 id 在电影管理页面上添加了一个“播放”链接来播放电影。所以后端是这样的:

import subprocess 
def play(request, movie_id):
try:
    m = Movie.objects.get(pk=movie_id)
    subprocess.Popen([PLAYER_PATH, m.path + '/' + m.name])
    return HttpResponseRedirect("/admin/core/movie")
except Movie.DoesNotExist:
    return HttpResponse(u"The movie is not exist!")

如上代码所示,每次点击“播放”链接时,页面都会刷新到/admin/core/movie,也就是电影管理页面,我只是不想让后端做这种事情,因为我可能会使用管理模块提供的“搜索”功能,所以点击“播放”之前的URL可能是这样的:“/admin/core/movie/?q=gun”,如果响应生效,那么查询条件将被删除。

所以,我的想法是我是否可以禁止 HttpResponse,以便让我留在当前页面上。

关于这个问题有什么建议吗?提前致谢。

4

1 回答 1

0

我在 admin 中使用了自定义操作来实现这个功能。所以最后我觉得动作有点像过程,没有返回值,请求有点像有返回值的方法(视图)......

谢谢 !

于 2013-01-06T07:10:36.303 回答