Используйте ссылку в качестве поля формы без JavaScript - PullRequest
0 голосов
/ 04 августа 2011

Я почти закончил разработку поисковой системы в django 1.3. У меня есть несколько фильтров на левой стороне моего приложения.

То, что я хочу сделать, это отобразить эти фильтры в виде ссылок (не как radiobuttons / selectbox / checkbox), и всякий раз, когда пользователь нажимает на одну из этих ссылок, форма повторно отправляется с отправленным значением этого фильтра (может быть захвачено виджетом TextInput )

По сути, что-то вроде левой фильтрации в в этом примере от Google , но без javascript (так что даже "не пользователь js" может использовать мой веб-сайт)

Возможно ли это? Как? Или я связан с javascript для этой цели?

Спасибо всем заранее!

1 Ответ

1 голос
/ 04 августа 2011

Почему бы просто не использовать параметры запроса GET?

Представьте себе следующее:

  • Пользователь ищет "медведь", URL становится: / search /? Q = медведь
  • Параметры запроса обрабатываются вашим представлением (собрать все изображения, соответствующие параметрам запроса)
  • Параметры запроса отправляются обратно в шаблон в переменной;
  • Каждая ссылка фильтра имеет параметры запроса, прикрепленные к ней вместе со своими собственными конкретными параметрами, так что ссылка фильтра для, например, изображения среднего размера становятся / search /? q = bear & size = medium;
  • При нажатии на эту ссылку фильтра ваше представление получит ключ q и size в своем словаре request.GET;
  • Повторите до бесконечности (например, / search /? Q = медведь и размер = средний и выражение = улыбка и цвет = ч-б и активность = танцы).
...