私はsaticファイルにCDNを使用してSTATIC_ROOTを設定するチュートリアルに従っていましたが、私は静的ファイルを同じサーバー私のdjangoアプリが提供されます。私は以下の新しい設定に変更しようとしたが、私はmanage.py collectstaticを実行して、静的ファイルがロードされていない。私は間違って何をしていますか?作業djangoのSTATIC_ROOTとSTATICFILES_DIRSを変更した後にスタティックファイルがロードされない
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
古い設定:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_cdn")
私の静的ファイルはBASE_DIR/staticにあります。 STATICFILES_DIRS設定を追加してSTATIC_ROOT = ''を設定すると、django.core.exceptions.ImproperlyConfiguredが表示されます。STATIC_ROOT設定をファイルシステムパスに設定せずにstaticfilesアプリケーションを使用しています。 – bayman
これはテストサーバーで実行していると思いますか?それとも開発中ですか? STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR)、 "static_root")を設定し、STATICFILES_DIRS設定を維持してください。 'manage.py runserver'を実行している場合は、' collectstatic'を実行する必要はありません。 – fizzyh2o
これはmanage.py runserverを使って現在テストしています。上記のSTATIC_ROOT設定を追加すると、BASE_DIRの外にフォルダが追加されます。だから、私がproductionでcollectstaticを実行すると、BASE_DIR/staticから../static_rootにすべての静的ファイルをコピーして、そのstatic_rootフォルダをApacheまたはnginxに指定する必要がありますか? – bayman