7

Django チュートリアルのパート 2 に従っています。base_site.html管理テンプレート ( )をオーバーライドしようとしています

からファイルをコピーしましdjango/contrib/admin/templatesmytemplates/admin/base_site.html

私もsettings.pyを更新しました:

#Base Directory
BASE_DIR = os.path.dirname(os.path.abspath(__file__))

#Template directories
TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'mytemplates'),)

mytemplates フォルダーをプロジェクト フォルダーのルートと mysite フォルダーに配置しようとしましたが、うまくいきませんでした。どんな指針も素晴らしいでしょう!

4

4 に答える 4

13

編集された以前のユーザーの応答-これは機能します:

テンプレートディレクトリへの相対パスが間違っていると思います。

これらの手順に従うと、機能するはずです:(自分でテストしました)

  1. dirをファイルmytemplatesと並べて配置しますmanage.py

    project
    -app1
    -app2
    -mytemplates
        -admin
            -base_site.html
    -manage.py
    
  2. TEMPLATE_DIRSを次のように変更します。

    TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'mytemplates'),)
    
  3. テンプレートローダーの順序が次のとおりであることを確認してください。

    TEMPLATE_LOADERS = (
    
        'django.template.loaders.filesystem.Loader',
        'django.template.loaders.app_directories.Loader',
    
    )
    
于 2013-02-07T15:45:23.053 に答える
1

@YardenSTの答えはほとんどうまくいきました。設定の問題だと思います。

問題が発生した場合は、次の行を使用することをお勧めします。

TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'mytemplates'),)

次に、ブレークポイントを配置して実際の結果を表示するか、代わりに を使用しますprint TEMPLATE_DIRS

上書きしたいテンプレートを配置する場所です。

于 2014-07-19T07:16:34.633 に答える
0

すべてのテンプレートをオーバーライドできます。

テンプレートに管理ディレクトリを作成し、ファイルを追加します。

すべてのファイル。

https://github.com/django/django/tree/master/django/contrib/admin/templates/admin

于 2016-02-22T22:36:18.930 に答える