Потратьте некоторое время на ознакомление с документами Django, поскольку они могут оказаться действительно ценными (не говоря уже о том, что они очень чистые и хорошо написаны для каждой доступной версии). Я бы сосредоточился на Working With Forms
Короче говоря, вы пройдете месяц со своего шаблона django (возможно, через ajax или просто HTML-форму POST), к своему представлению и используйте функцию просмотра, чтобы получить данные POST и использовать что в вашем запросе.
Трудно дать хороший, тщательный ответ, потому что есть разные способы сделать это. Вы хотите AJAX? Простая форма с перезагрузкой страницы и т. Д.?
Хорошо, здесь, подробно, я обычно обрабатываю запрос POST. Это не проверенный код, это просто код psuedo, но должен работать, насколько я могу судить, кроме нескольких мелких опечаток, возможно. НО, это должно дать вам представление о том, как обрабатывать запросы ajax в Django.
Это довольно 101 и занимает некоторое время, чтобы прочитать документы и пройти через некоторые из ранних проектов, охватывающих эти концепции, и я, поэтому углубляясь в глубину, не очень ценен для SO-читателей.
views.py
class change_date_form(forms.Form):
new_date = forms.DateField()
def change_transaction_date(request):
#Do some checks to make sure user is authorized to do this
current_user = ...
customer_data = []
if request.method == 'POST':
form = change_date_form(request.POST, request.FILES)
if form.is_valid():
change_date = form.cleaned_data.get('new_date')
objects = Transaction.objects.filter(user=current_user, date__month=change_date)
for i in objects:
customer_data.append(objects.name)
response_data = json.dumps(customer_data)
return HttpResponse(response_data, content_type='application/json')
urls.py
...
url(r'^change_date_view/', 'module.views.change_transaction_date'),
Jquery:
$('button_handler').on('click', function() {
var new_date_value = $(date_field_selector).val()
$.ajax({
url: "/change_date_view/",
type: "POST",
data: {
new_date: button_handler,
},
success:function(data) {
//build your html via javascript with response data
}
})
})
Единственное место, где вы можете сделать это с точки зрения, ее неясно, какова точная проблема у вас есть – Sayse
@Sayse Я просто не знаю, как изменить месяц, по которому транзакции отфильтровываются и делают django show thi s в обработанном шаблоне – Teryuu
Я отредактировал свой ответ, чтобы дать вам более подробную информацию о обработке django ajax. – rob