序文これは私が今この質問(here、here、およびhereを含む)に複数の投稿を読んだと言っています。私が理解していることは、settings.py
のstatic url
には、これらの静的ファイルを実行するherokuの修正が必要です。私が子供のように説明する必要があるのは、静的ディレクトリがアプリ内にネストされているときに、これをstatic url
にするために微調整するものです。これは最近のチュートリアルで推奨されているベストプラクティスでした。訂正されていただければ幸いです)。herokuにherokuをデプロイしたdjangoアプリにCSS/staticファイルがありません
質問1:media
ファイルは、アプリケーション内またはプロジェクトレベルのディレクトリに保存する必要がありますか?
質問2:メディアファイルはアプリ内のディレクトリ内に保持されている場合は、以下の私のディレクトリのように、そしてどのように私はかつてHerokuのにプッシュ静的ファイルをロードするためにsettings.py
でurl
を変更することが出来るのですか?
マイプロジェクト構造は以下の通りです:
gvlabs
__init__.py
__init__.pyc
settings.py
settings.pyc
urls.py
urls.pyc
wsgi.py
wsgi.pyc
manage.py
Procfile
requirements.txt
runtime.txt
welcome
__init__.py
__init__.pyc
admin.py
admin.pyc
apps.py
hello.py
migrations
models.py
models.pyc
static
css
fonts
images
js
templates
welcome
base.html
comingsoon.html
contact_us.html
index.html
post_list.html
tests.py
urls.py
urls.pyc
views.py
views.pyc
settings.py
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
PROJECT_DIR = os.path.join(PROJECT_ROOT,'../welcome')
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/
#STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_ROOT= os.path.join(PROJECT_DIR,'static')
STATIC_URL = '/welcome/static/'
# Extra places for collectstatic to find static files.
STATICFILES_DIRS =()
# Simplified static file serving.
# https://warehouse.python.org/project/whitenoise/
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
徹底的な説明をありがとう。これはトリックでした。メディアや他の洞察力の違いについての相違について知っておくとよいでしょう。 – Jebediah15