私はオープンソースのDjangoアプリケーションで作業しており、そのためのデザインをいくつか作成しました。今、顧客は著作権で保護された独自のデザインを使用したいと考えています。 Djangoのドキュメントを読んだ後、私は別のプライベートなGITリポジトリを作成しました。これは新しいデザインに使いたいものです。私は設定に2つの項目を追加することで、ほとんど機能しています。 "funder_custom_templates"というフォルダ内のテンプレートを探す余分なエントリと、同じ場所にある静的ファイルを探す余分なエントリ。これは私がテンプレートとSTATICFILES_DIRの構成方法である:予想通り、私はfunder_customer_templates/base.htmlとすべての静的ファイルのために作成するときに私はDjangoプロジェクトの外にテンプレートフォルダを持たせることができます
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(PROJECT_DIR, '..', '..', 'funder_custom_templates'),
os.path.join(PROJECT_DIR, 'templates'),
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'fundraiser.context_processors.cart',
],
},
},
]
STATICFILES_DIRS = [
os.path.join(PROJECT_DIR, '..', '..', 'funder_custom_templates','static'),
os.path.join(PROJECT_DIR, 'static'),
]
これは、PROJECT_DIR /テンプレート/ base.htmlに位置ベースのデザインを上書きするために働きます。しかし、私はまた、ブログ/テンプレート/ブログ/ blog_index_page.htmlのようなアプリケーション固有のテンプレートファイルを無効にしたいと思います。
私はfunder_custom_templatesのルートにこれらのファイルを入れようとしましたが、funder_custom_templatesのアプリケーションフォルダ構造を模倣しようとしましたが、アプリ固有のテンプレートを読み込みます。これを解決する方法はありますか?あなたは('APP_DIRS': True,
を設定することにより、指定された)テンプレートをロードするためにapp_directories.Loader
クラスを使用しているので、その後、アプリspecficテンプレート用DjangoはあなたのINSTALLED_APPS
設定を反復しますhttps://github.com/acidjunk/funder/tree/develop/
たぶん、あなたはfunder_custom_templates' 'のルートに' blog_index_page.html'を入れて、それの 'blog'サブディレクトリに、しかし、私はべきではありません私は確信していません。 –
'funder_custom_templates'にテンプレートのレイアウトを表示してください。 – Alasdair
私はレイアウトのものをテストしました。メインのデザインからbase.htmlを使っていくつかのテキストを追加しましたので、正しい "カスタム"テンプレートがロードされていることがわかりました。 – acidjunk