Nick2009
Июль 29, 2009 04:33:31
На страничке несколько блоков, в каждом есть <a href = урл с дним изменяемым параметром>
Пользователь еще не авторизорван, но может кликать по этим ссылкам, меняя таким образом, параметры.
Каждый урл, конечно связан с представлением, каждое представление возвращает свой стандартный шаблон, унаследованный от базового шаблона. Основной контент страницы должен каждый раз меняться в зависимости от сочетания параметров.
Проблема в том, что в каждом урле передается только один параметр, а не все.
Поддержка сочетания параметров между запросами превращается в головоломку, а код становится запутанным.
Использовать данные сеанса пока нельзя, т.к. юзер не авторизован. Стандартная Джанговская система аутентификации и сеансов вроде бы на этом этапе еще не работает.
Если бы я это делал без фреймворка, то намутил бы что-нибудь с JavaScript и POST запросами, и перекидывал бы массив данных туда-сюда между сервером и клиентом, но это самопал. Как эту задачу эффективнее всего решить средствами Джанги?
rahs
Июль 29, 2009 08:23:58
Даже когда юзер не авторизован, система сеансов работает. Она не работает только если кукисы отключены
Nick2009
Июль 29, 2009 08:38:38
rahs
Даже когда юзер не авторизован, система сеансов работает. Она не работает только если кукисы отключены
Придется работать одновременно с двумя системами сеансов? Своей и django.session?
Попроще бы…
Ferroman
Июль 29, 2009 13:59:18
Nick2009
Внимательнее прочитайте предыдущий ответ. О какой “своей системе сеансов” вы говорите?
Александр Кошелев
Июль 29, 2009 21:45:44
Nick2009
Как эту задачу эффективнее всего решить средствами Джанги?
Не поверите - передавать параметры урлами. Вам надо написать лишь какой-то слой абстракции, в котором вы сможете задать возможные параметры с допустимыми значениями и переходы между ними. И в зависимости от страницы и входного параметра генерировать правильным образом другие урлы.
Подобная система реализована, например, на
этом сайте.
Nick2009
Июль 30, 2009 14:15:49
Daevaorn
Не поверите - передавать параметры урлами. Вам надо написать лишь какой-то слой абстракции, в котором вы сможете задать возможные параметры с допустимыми значениями и переходы между ними. И в зависимости от страницы и входного параметра генерировать правильным образом другие урлы.
Угу, именно так пока и сделал. Недостаток в том, что в каждом урле дублируется весь массив параметров, хотя это мелочи.
Александр Кошелев
Июль 30, 2009 14:41:41
Nick2009
Недостаток в том, что в каждом урле дублируется весь массив параметров
Это огромное достоинство и шаг к RESTful идеологии.