3

このような画像を使用{% load static %}してテンプレートに追加すると、次のようになります。

<img src="{% static 'logo.png' %}">

static同じアプリにあるという方向に保存されている場合にのみ、画像を取得します。しかし、プロジェクト全体にロゴを使用したいのですが、プロジェクト全体のテンプレートにも使用したいと思います。static画像が内部のプロジェクト フォルダにある方向に保存されている場合は機能しません。


プロジェクト全体で静的ファイルを使用するにはどうすればよいですか? そして、テンプレートからそれらにアクセスする方法は? (私は趣味の開発者なので、本番環境ではありません ;-)) 私の設定は、プロジェクトを作成したときとほぼ同じです。(テンプレートの方向性を追加しただけです。)


これを読んでくれてありがとう

4

1 に答える 1

7

で静的ファイルを使用する場合Django projectは、いくつかの手順を実行する必要があります。

ステップ 1 : settings.py の INSTALLED_APPS

あなたが持っていることを確認してdjango.contrib.staticfilesくださいINSTALLED_APPS

ステップ 2 : STATIC_URL

次に、settings.py ファイルに次のように記述する必要があります。STATIC_URL = '/static/'

これで、Django アプリケーションで、という名前の新しいリポジトリを作成し、static静的要素を内部に配置できます。

この要素を呼び出したい場合:

{% load static %}
<img src="{% static "my_app/example.jpg" %}" alt="My image"/>

STEP 3 (何が欲しいか) : STATICFILES_DIRS

特定の Django アプリケーション用ではない静的要素がある場合は、STATICFILES_DIRS.

Django アプリケーション リポジトリの横に新しいリポジトリを作成できますstatic

あなたが得るでしょう:

My_project
|
 __ application 1
|
 __ application 2
|
 __ ...
|
 __ static

settings.py ファイルに以下を追加してください:

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    'path_to_static_directory/static/',
]

これで、静的ファイルをロードするだけで、任意のテンプレートの静的ファイルにアクセスできるようになりました: {% load static %}.

このチュートリアルを読んでください: https://docs.djangoproject.com/en/1.10/howto/static-files/

于 2017-03-01T14:58:23.573 に答える