-
Кто нибудь делал сабж? Если да, то как?
Интересует возможность обновление urls.py в момент когда settings.py уже прочитан, а fastcgi-сервер еще не запущен. Такое вобще реализуемо без особого костылизма? -
Не очень понятен вопрос, а точнее начальные условия.
Но вот такой вариант в urls.py очень распространен:
from django.conf import settings if settings.MY_SETTING: urlpatterns = patterns(...) else: urlpatterns = patterns(...) if settings.ADD_URLS: urlpatterns += patterns(...) -
Делал что-то похожее - в middleware переписывал request.urlconf - хотя это наверно совсем радикально для данного случая.
-
ммм... Сейчас попробую объяснить.
Есть некоторый класс, который пишет програмист ничего не знающий о Django и о HTTP вобще. Есть некоторый метакласс, который обертывает все return'ы этого класса, в HTTPзапросы которые идут к Django апликации.
Мы не знаем какой класс будет использоваться. Но в момент запуска, нужно пройтись по этому классу и сгененировать URL'ы вида:
такие дела/service_name/class_name/method_name/ args -
ЗЫ: пока я это делаю с большим количеством dir'ов и getattr'ов, рекурсивно и через редкую за*цу
-
Да, а интроспекция по другому и не делается, надо много диров и гетатров.
А вообще при такой постановке вопроса не понятно зачем генерировать урлы. Пишется один диспетчер и соотвественно к нему один урл с вайлдкард на конце. И вся магия проиcходит в нем и не надо что-то оборачивать. Он из запроса собирает некое множество параметров, передает их в удаленную сущьность, получая от неё некий результат и генерирую правильный ответ.
-
+1


