#django #templates #django-context #pyjamas
#django #шаблоны #django-контекст #пижама
Вопрос:
Я несколько новичок как в веб-разработке, так и в фреймворках Django и Pyjamas. Поэтому я ценю любое проявленное ко мне терпение в процессе обучения.
Я настраиваю Django и Pyjamas для совместной работы, клиент / сервер JSONRPC шаблоны Django.
У меня есть скомпилированная пижама my_project.html подаются как шаблоны Django. У меня есть папка шаблонов Django, установленная в выходной папке моего проекта Pyjamas.
Pyjamas компилирует bootstrap.js
в ту же выходную папку, и мне нужны правильные ссылки в шаблонах Django на эти файлы в качестве текущей ссылки на:
<script language="javascript" src="bootstrap.js"></script>
Не функционирует.
Способ управления статическими файлами Django для меня не очень очевиден даже после прочтения документации. Каков наилучший способ настроить это с точки зрения иерархии папок и настроек Django?
Каков наилучший способ ссылаться на мои статические файлы из моих шаблонов Django?
Я знаю, что, вероятно, задаю очевидные вопросы, но после прочтения доступной документации я просто не могу собрать это воедино. Это последняя часть головоломки, прежде чем я действительно начну работать, поэтому любая помощь будет высоко оценена!
Комментарии:
1. Почему вы хотите, чтобы пижама использовалась в качестве шаблона django? Обычно они отделены друг от друга, и обслуживание правильных файлов осуществляется http-сервером (nginx, lighttpd, apache и т.д.).
Ответ №1:
Это не позволяет мне комментировать, но я сталкиваюсь с той же проблемой. Чтобы ответить Даниэлю Клюеву, наша причина обслуживания страницы pyjamas через django заключается в том, что запросы JSONRPC из pyjamas -> django сталкиваются с защитой CSRF в django, что приводит к ошибке 403. Лучшее решение (а может быть, и единственное?) мы видели, что токен передается pyjamas в виде файла cookie (или элемента формы), который затем может быть отправлен обратно в django во время RPC. Мы не смогли реализовать это из-за проблем, упомянутых Shattered1113 в его вопросе.
Единственный другой вариант, который я видел, это отключить промежуточное программное обеспечение CSRF или исключить из него определенные представления с помощью декоратора. Похоже, это решение используют все, однако мы требуем, чтобы была включена защита csrf, поэтому у нас это не сработает.