3

管理サイトにdjangoのデフォルトの管理者を使用し、「プロジェクト」という名前のアプリを作成します ここに画像の説明を入力してください

次に、プロジェクト変更フォームで、動的な画像を表示したいので、google APIを使用していくつかのグラフを描画する予定なので、次のようにhtmlフォームを変更してhtmlファイルに追加する必要があります。

ここに画像の説明を入力してください

だから私の質問は、このページのdjangoのデフォルトテンプレートをどのように変更できますか?templates /フォルダーにフォームが見つかりません、このページは「change_form」という名前ですか?"変更リスト"?または他の名前。もしそうなら、「プロジェクト」と同じレベルで他のアプリを作成する可能性があるため、アプリ「プロジェクト」のフォームのみを変更するにはどうすればよいですか?

4

2 に答える 2

1

有効な静的ファイル用の場所が必要です。

次に、その静的ファイルディレクトリ内に管理ディレクトリを配置します。

次に、addnameを次のようなディレクトリとして追加します。

Root
  yourapp
     static
        admin
           yourapp
               file_to_overwrite

Djangoファイルを見つけます。次に、次の場所に移動します: contrib / admin / templates / admin

OSXでは、これは次のようになります。

/Library/Python/2.7/site-packages/django/contrib/admin/templates/admin

上書きしたいファイルを上記のようにあなたのappディレクトリにコピーします。

編集:

単一のアプリの単一のフォームを変更する場合:

例えば:

Root
  yourapp
     static
        admin
           yourapp
               modelname
                   change_form.html

モデル「modelname」のみがこのhtmlファイルの影響を受けます。

于 2012-12-10T13:12:44.280 に答える
0

ドキュメントが示唆するようにこれを行う良い方法は、@Rickard Zachrissonの回答を使用することですが、コピーする代わりに「拡張」ブロックを使用してスーパーをインポートします。

管理テンプレートを直接オーバーライドするのではなく、継承するため、これはより良い方法です。

これは、たとえばJSを挿入するときにドキュメントがそれを行うことを提案する方法です:

{% extends 'admin/change_form.html' %}
{% load static %}

{% block admin_change_form_document_ready %}
{{ block.super }}
<script type="text/javascript" src="{% static 'app/formset_handlers.js' %}"></script>
{% endblock %}
于 2017-05-12T17:17:40.587 に答える