0

У нас был автономный сервер frontend, который просто служил статическим файлам AngularJS. Для SEO мы хотим использовать такую ​​услугу, как Prerender, и, следовательно, необходимо запустить сервер, который может маршрутизировать URL-адреса.
Мы планируем использовать брандмауэр Django с промежуточным программным обеспечением Prerender для того же (с сервера Python).Run Angular SPA in Django

я могу служить статический файл для всех URL-адресов с помощью:

urlpatterns += patterns('', 
        url(r'^$', 'django.views.static.serve', 
         kwargs={'path': 'index.html', 
           'document_root':settings.STATIC_ROOT}), 
    ) 

Теперь мой вопрос:
1 Угловое приложение использует локальные пути, например для статических файлов, такие как стили/f.css, Каким будет самый простой способ его обслуживания (с маршрутизацией) через Django? Какие-либо альтернативы использованию ключевого слова Jango во всем мире?
2 Django не рекомендует напрямую обслуживать статические файлы. Итак, что бы вы использовали для обслуживания SPA через движок приложений (с маршрутизацией)?

ответ

1

Моя рекомендация - использовать какой-либо URL-префикс (STATIC_URL) как «статический», чтобы четко различать запросы к вашим представлениям Django и вашим статическим файлам.

Для обслуживания ваших статических активов вы можете использовать whitenoise.

Если вам действительно нужно, чтобы избежать STATIC_URL префикса вы можете унаследовать или адаптировать DjangoWhiteNoise и использовать вместо STATIC_URL префикса набора шаблонов префиксов URL, как «CSS», «JS» и «IMG»

+0

Я действительно не собираюсь обслуживать любые виды Django с этого сервера. Просто найти самый простой способ заставить существующее приложение Angular служить от Django –