2012-01-07 3 views
0

django管理者のテンプレートから継承したモデルのchange_form.htmlテンプレートにjavascriptを追加したいとします。私は、ログインのタイプに基づいてモデルの属性のいくつかを表示/表示したいと思います。例えば。ユーザーは顧客またはスタッフグループのメンバーになることができます。誰もガイドできますか?djangoのブロックコンテンツのchange_form.htmlにjavascriptを追加する方法

答えて

1

ブロックを使用するにはcontentブロックが必要です。headブロックがあります。そこにjsを置くことができます。しかし、一部のユーザーが一部のフィールドを変更できないようにすることは、簡単にハックする可能性があります。

{% block extrahead %} 
    {{ block.super }} 

    <script type="text/javascript"> 
     $(function() { 
      {% if user.get_profile.is_customer %} 
       $('#id_of_field_block').hide(); 
      {% endif %} 
     }); 
    </script> 
{% endblock extrahead %} 

また、あなたがchange_form.htmlテンプレートを変更し、contentブロックを上書きし、ソースとして元のファイルの内容を取得し、フィールドセットテンプレートfieldset.html変更することができます(または、あなただけfieldset.htmlオーバーライドすることができますが、私はわかりません)。このテンプレートはフィールドを反復処理し、そこでいくつかのチェックを追加することができます。

+0

間違いなく、追加ブロックにjsを追加する必要がありますが、ログインに基づいてモデル属性の一部を表示/非表示にしたいとします。 div idを使ってshow()とhide()関数を試してみましょう – user956424

+0

私の答えが更新されました。 – demalexx

関連する問題