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 に答える