0

ユーザーがログインし、いくつかのオプションを管理し、モデルのインスタンスを作成して、ニーズに応じてビューを生成するアプリがあります。これは個人セッションのみで行われます。

アプリに公開機能を追加して、ユーザーが管理しているビューへのパブリック アクセスを許可できるようにしたいと考えています。

私の最初のアイデアは、公開されたビューごとに一意の URL を使用して、ユーザーのビューの静的な html ファイルを出力することでした。これらの静的ファイルはアプリ サーバーに保存されます。このアイデアが可能かどうかはわかりません。可能であれば、静的ファイルごとに一連の更新、削除を管理するのが難しいことはわかっています。

このようなパブリッシュでは、静的ファイルを使用するか、呼び出されるたびにビューをレンダリングする方がよいでしょうか? 考えられるオプションについて、この目的に役立つリソースを読むことができますか?

4

1 に答える 1

1

Django は、ビューとテンプレートのキャッシュを処理できます。このために静的ファイルをレンダリングする正当な理由はないようです。

カスタム ビューを使用して、モデルが公開されているかどうかを確認できます。

def view_public_object(request, object_id):
    object = get_object_or_404(Object, id=object_id)
    if object.is_published():
        return render_to_response('template.html', {'object': object})
    return Http404

アクセスできるすべてのオブジェクトを一覧表示する場合は、オブジェクトのマネージャーを更新して、このクエリセットで公開されているインスタンスのみを一覧表示できます。

Object.objects.filter(is_published=True)
于 2013-03-13T18:11:36.563 に答える