Я обслуживаю 2 приложения React с одним бэкэндом Python. Прямо сейчас я обслуживаю index.html
с помощью HttpsREsponse, и я включил build/static
в STATICFILES_DIRS. Поскольку к этим файлам добавлен хеш, их можно перепутать. Но мне нужен способ обслужить все эти файлы внутри build
, например manifes.json
или favicon.ico
. Создание View
для всех них кажется ужасной идеей. Я хотел бы служить app1/build
как static/app1
и app2/build
как static/app2
.
Я искал документы Django и обнаружил, как собирать статические данные из разных мест и что угодно о размещении их на нескольких URL.
Это моя установка прямо сейчас:
# settings.py
STATICFILES_DIRS = [
os.path.join(APP1_DIR, 'build', 'static'),
os.path.join(APP2_DIR, 'build', 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# urls.py
urlpatterns = [
url(r'^app1/manifest.json$', getStaticFileView(app='app1', 'manifest.json').as_view()),
url(r'^app1', getStaticFileView(app='app1', 'index.html').as_view()),
url(r'^app2/manifest.json$', getStaticFileView(app='app2', 'manifest.json').as_view()),
url(r'^app2', getStaticFileView(app='app2', 'index.html').as_view()),
]
Я ищу что-то вроде этого:
# settings.py
STATICFILES_MAPPING = [
(os.path.join(APP1_DIR, 'build', 'static'), 'static/app1'),
(os.path.join(APP2_DIR, 'build', 'static'), 'static/app2')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# urls.py
urlpatterns = [
url(r'^app1', getStaticFileView(app='app1', 'index.html').as_view()),
url(r'^app2', getStaticFileView(app='app2', 'index.html').as_view()),
]
Спасибо за любые идеи или указания.
Редактировать: я обслуживаю все статические файлы из /static
со статического сервера, но мне нужно указать django для создания правильной /static
структуры файлов. Не просто выбросить все в папку /static
, а поместить что-то в /static/app1
и что-то в /static/app2