@ISVir

Каким образом направить определенный URL, на определенную директорию?

Каким образом я могу сделать так, чтобы по запросу /js/ Django смотрело в одну static-директорию, а при /img/ в другую.

Имеется твиттер-бутстрап шаблон с использование ангуляра, в нем используются свои URL'ы для получения контента. Как мне научить Django отдавать данные по запросу?
  • Вопрос задан
  • 2221 просмотр
Пригласить эксперта
Ответы на вопрос 2
yttrium
@yttrium
на продекшене это лучше на nginx настроить.
Странно что фронтэнд вообще трудно параметризуемо реализован
Корчась, предложу всё таки HttpResponseRedirect
Ответ написан
Комментировать
В Django существует специальный class-based view для отдачи статических файлов во время разработки. Вот пример для Django 1.6.

from django.conf.urls import patterns, include, url
from django.conf import settings

urlpatterns = patterns('',
    # Здесь ваши URL
)

# А это работает только с Django development server, чтобы не было соблазна
# использовать в production
if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^js/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': 'папка-где-лежат-файлы-js',
        }),
        url(r'^css/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': 'папка-где-лежат-файлы-css',
        }),
   )


Как уже было отмечено, в production это использовать нельзя, работать будет очень и очень медленно. Конкретный способ настройки зависит от того, как вы вообще развёртываете Django. Если это делается под nginx, будет как-то так:

Location /css/ {
    alias /var/www/css/;
}


Гуглите по директивам alias и root.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы