Django静的ファイルの詳細
1534 ワード
Djangoは、
静的ファイルの設定は、まず、 に追加することを保証する.プロファイルには が設定.は、テンプレート内で2つの方法で静的ファイルを参照することができ、1つは、 を使用することです.は、アプリケーションの
開発環境
開発環境では、
静的ファイルをアプリケーションのディレクトリの下に配置したくない場合は、
せいさんかんきょうは、最終的な静的ファイル、例えば、 を保存するために
一般的に、本番環境ではdjangoで静的ファイルを転送するのではなく、nginx、apacheなどの他のサーバで転送します.
STATIC_ROOTとSTATIC_URLの違い
django.contrib.staticfiles
によって静的ファイルを管理する.静的ファイルの設定
django.contrib.staticfiles
がINSTALLED_APPS
STATIC_URL
、例えばSTATIC_URL = '/static/'
/static/my_app/example.jpg
のような直接ハードコーディングである.2つ目は、static
テンプレートラベル:{% load static %}
![]({% static )
static
ディレクトリの下に静的ファイルを保存する.開発環境
開発環境では、
runserver
で起動し、debug=True
で起動すると、サーバは静的ファイルを自動的に転送しますが、効率が高くなく、安全ではなく、生産環境に適していません.静的ファイルをアプリケーションのディレクトリの下に配置したくない場合は、
STATICFILES_DIRS
で構成できます.STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
]
せいさんかんきょう
django.contrib.staticfiles
は、すべての静的ファイルを収集し、ディレクトリの下に統一的に配置するための良いコマンドを提供します.STATIC_ROOT = "/var/www/example.com/static/"
、STATIC_ROOT
を設定する.collectstatic
コマンドを実行します.次のコマンドを実行すると、すべての静的ファイルがSTATIC_ROOT
ディレクトリにコピーされます.$ python manage.py collectstatic
一般的に、本番環境ではdjangoで静的ファイルを転送するのではなく、nginx、apacheなどの他のサーバで転送します.
STATIC_ROOTとSTATIC_URLの違い
STATIC_ROOT
は収集された静的ファイルを保存するために使用され、サーバは最終的にこのパスからファイルを取得して転送する.STATIC_URL
は、レンダリング後のHTMLの静的ファイルのプレフィックスである静的ファイルを参照するために使用されます.