У меня есть форма, которая отображает таблицу с данными и два варианта выпадающего списка, которые вы можете выбрать дату/год для отображения данных, поэтому я возвращаю context
для стола и с get_initial
Я заполнение выпадающих списков для использования текущей даты и времени.django post перенаправляет на свою страницу
Мой вопрос заключается в том, как сделать POST
запрос перенаправляется на своей собственной странице GET
, идея состоит в том, чтобы установить значения в некоторых параметров запроса в URL, как ?month=1&year=2016
, но я не знаю, с чего начать, может кто-то помочь мне Поймите это, спасибо.
from django.views.generic.edit import FormView
from django.utils import timezone
from .models import Rate
from statistics.forms import StatisticsForm
from statistics.services import StatisticsCalculation
class StatisticsView(FormView):
template_name = "statistics/invoice_statistics.html"
form_class = StatisticsForm
def get_initial(self):
initial = super(StatisticsView, self).get_initial()
initial["month_choice"] = timezone.now().month
initial["invoice_year"] = timezone.now().year
return initial
def get_context_data(self, **kwargs):
context = super(StatisticsView, self).get_context_data(**kwargs)
default_currency = Rate.EUR
currency_usd = Rate.USD
currency_gbp = Rate.GBP
context["can_view"] = self.request.user.is_superuser
context["currency"] = default_currency
context["currency_usd"] = currency_usd
context["currency_gbr"] = currency_gbp
context["statistic"] = StatisticsCalculation.\
statistic_calculation(supplier_default_currency)
context["statistic_usd"] = StatisticsCalculation. \
calculation(supplier_default_currency_usd)
context["statistic_gbp"] = StatisticsCalculation. \
statistic_calculation(supplier_default_currency_gbp)
return context
url
для формы:
url(r'^statistic/$', login_required(views.StatisticsView.as_view()), name='statistics')
шаблона:
<form action="" method="post">{% csrf_token %}
<div class="" id="">
<label for="{{ form.month.month_choice }}"></label>
{{ form.month_choice }}
</div>
<br>
<div class="" id="">
<label for="{{ form.year.invoice_year }}"></label>
{{ form.invoice_year }}
</div>
<br>
# rest of the html
поэтому 'url' трюк здесь, это просто' url', так что вы можете объяснить мне, как установить мой 'URL ', позвольте мне уточнить мой вопрос. – PetarP
Это выглядит правильно, на какие взгляды направлены ваши URL-адреса? –
точно, что я получаю, дело в том, что форма перенаправляется, когда я хочу просматривать данные, и я не хочу этого, я хочу, чтобы он остался на этой странице и показал мне больше данных - что вы имеете в виду, m, используя 'FormView', это в моем вопросе, у меня простая форма с двумя полями за месяц и год – PetarP