Я совершенно потерян на одном из последних шагов этого проекта.
До сих пор я смог разработать приложение django, которое работает так, как я хочу, на localhost;Мне удалось развернуть веб-сайт в AWS EC2, но я, должно быть, упускаю что-то фундаментальное в обслуживании статических файлов.(Я даже еще не пробовал мультимедийные файлы.) Я прочитал страницу развертывания Django и инструкции по управлению статическими файлами , но я никогда раньше не развертывал веб-сайт с нуля.,Учебные пособия, которые я нашел, кажутся противоречащими (или устаревшими?).
Вот вопросы, которые, на мой взгляд, у меня есть в данный момент:
- Нужен ли мне 1013 * для размещения статических (и / или мультимедийных) файлов в корзине, или это просто хорошая идея?
- Когда я настраиваю STATIC_ROOT и STATIC_URL, я должен иметь установку STATICFILE_DIRS?(Я имею в виду, я думаю, что мне действительно нужен учебник о том, как они вообще работают вместе, их настройках и как работает «статический» в шаблонах.)
- Я пытался добиться успеха;Я получаю сообщение о том, что STATIC_URL настроен неправильно;Я не могу найти документацию, чтобы сказать мне, что это должно быть.Это жизнеспособный корень, чтобы взять?
РЕДАКТИРОВАТЬ
Даже с удивительно подробным ответом @DirkGroten я все еще не понимаю, как обслуживать статическиефайлы.Я могу запустить сервер и затем веб-браузер, чтобы увидеть страницы без статических файлов.Но теперь у меня появилась новая проблема: страницы, на которых есть статические файлы, возвращают ошибку 500 27 (тогда как раньше они возвращали ошибку только для файла).Итак, вот моя структура папок, а ниже - соответствующая часть моего файла настроек (который фактически разбит на base, dev и prod).
[mainsite]/
|---[mainsite]/
| |---[settings]/
| |---base.py
| |---dev.py
| |---prod.py
|---[app1]/
| |---[migrations]
| |---[static]/
| | |---[app1]/
| | | |---app1_file1.jpg (etc)
| | |---app1_style.css
| |---[templates]/
| | |---[app1]/
| | |---about.html (etc)
|---[app2]/ (etc)
|---[static] (this gets populated after running collectstatic)
настройки разработки:
Debug = False
ALLOWED_HOSTS = [###.###.###.###]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
... (the rest of the middleware)
]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.abspath(os.path.join(BASE_DIR, 'static'))
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'app1/'),
os.path.join(BASE_DIR, 'app2/'),
os.path.join(BASE_DIR, 'app3/'),
]
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
Я удостоверился, что импортирую белый файл в файл производственных требований.
Чего мне не хватает?
Кроме того, я никогда не использовал поддержку AWSсистема.(Я на свободном уровне.) Могу ли я получить их помощь?Должен ли я начать дело?
TIA.