Форум сайта python.su
0
И снова здравствуйте,
Полагаю, это очень простой вопрос, но я никак не могу найти в Django-book или доках нормального освещения следующего вопроса: как можно передать данные из template-а в соответствующую ему view? Раньше мне для этого всегда хватало формы: вывел данные, поправил, нажал кнопку, данные ушли в соответствующий метод на сервере. Теперь же я хочу, чтобы при выполнение каких-либо действий на страничке на сервер уходил request с указанными данными и страничка перерисовывалась соответствующим образом.
Простой пример: на страницу выводится блок данных, пользователь нажимает один элемент (ссылку, или кнопку), данные пересортируются на сервере по-новому и возвращаются на страничку. Насколько я понимаю, данные нужно запихивать в request, но как? Я не нашел простых примеров в доках (вероятно, я не то искал…) Гугл выдал какой-то невнятый пример с использование Javascript-а, но неужто нет более простых и наглядных методов?
Буду очень признателен за пример, или указание того, куда мне нужно смотреть и что гуглить.
То есть, в данный момент мне хочется написать что-то типа
<a href="{% url path.to.view foo="MyFoo"%}">click me</a>foo = request.GET.get("foo")Офлайн
2
В urls.py
urlpatterns = patterns('',
(r'^articles/(?P<year>\d{4})/$', 'news.views.year_archive', name='news_year'),
)def hours_ahead(year):
тут делайте с year всё что нужно
return HttpResponse(year)
{% url news_year 2012 %}Офлайн
568
Очень похоже на то, что вам нужен ajax.
from django.utils import simplejson
from django.http import HttpResponse
def foo(request):
data={}
return HttpResponse(simplejson.dumps(data), mimetype="application/json")
$('.save').click( function(){ $.getJSON("/foo", $(this).parent().serialize(), function(data){
alert(data);
}
});Офлайн