Некоторые основные вопросы о Django, пижамах и чистых URL
Я совершенно новичок в этой теме, но я пытаюсь объединить Джанго и Пижаму. Каков был бы разумный способ объединить два? Я не спрашиваю об общении, а скорее о логической части.
Должен ли я просто поместить все сгенерированные JS пижамы в базу домена, скажем, http://www.mysite.com/something и настроить Django в подкаталоге или даже субдомене, чтобы все вызовы JSON выполнялись для http://something.mysite.com/something?
Насколько я понимаю, в такой комбинации нет большого смысла создавать представления в Django?
Есть ли какое-то решение для чистых URL в пижаме, или это должно быть решено на каком-то другом уровне? Как? Является ли это стандартным способом передачи некоторых аргументов в качестве параметров GET в чистом URL при вызове JS, сгенерированного пижамой?
3 ответа
Мне удалось заставить работать следующее, но это не идеально. Полное раскрытие: я не выяснил, как использовать систему шаблонов django для добавления элементов в элементы пользовательского интерфейса пижамы, и я не подтвердил, что эта установка работает с системой аутентификации django. Единственное, что я подтвердил, это то, что при этом появляется страница, созданная пижамой. Вот что я сделал.
Поместите основной.html-файл, сгенерированный пижамой, в каталог "templates" django и подайте его из своего проекта так же, как и любой другой шаблон.
Поместите все остальное в директорию "static" файлов django.
Внесите следующие изменения в основной файл.html, сгенерированный пижамой: в разделе заголовка найдите элемент meta с именем ="pygwt:module" и измените атрибут content="..." на content="/static/..."где"/static/"- это URL-адрес статической страницы, который вы настроили в django; в разделе тела найдите элемент скрипта с src="bootstrap.js" и замените атрибут на src="/static/bootstrap.js".
Вам нужно вносить эти изменения вручную каждый раз, когда вы восстанавливаете файлы с пижамой. Кажется, нет никакого способа сказать пижаме использовать определенный префикс URL при генерации его вывода. Ну да ладно, пижамная прохлада многое компенсирует.
Кислота, я не уверен, что это такой же ответ, как вы надеетесь, но я искал те же ответы, что и вы.
Насколько я вижу, наиболее практичным способом сделать это является использование сервера Apache, обслуживающего вывод пижамы, а Django - просто как служебный API для вызовов JSONrpc и тому подобное.
С другой стороны, я начинаю задумываться, является ли Django даже лучшим вариантом для этого, учитывая, что использование его просто для этой функции не использует большую часть его функциональных возможностей.
Проблема, с которой я столкнулся при использовании Django для обработки выходных данных пижамы в виде Django Views/Templates, заключается в том, что пижама загружается как таковая.
Главная html-страница загружает "bootstrap.js" и в зависимости от используемого браузера bootstrap.js загрузит соответствующую страницу приложения. Даже если вы правильно настроите статические ссылки на файлы, используя язык шаблонов Django для ссылки и загрузки "bootstrap.js", я не могу сделать то же самое для bootstrap.js, ссылающейся на каждую страницу приложения.
Это огорчает меня, так как мне очень нравится функция Django "бесцельные URL-адреса".