【发布时间】:2017-07-05 04:03:13
【问题描述】:
我正在构建一个小表单,在该表单上显示表格中的一些数据,此外我还有两个dropdown,您可以使用它选择当前数据或年份作为您想要在表。
我的问题是我如何使用django 表单获取请求填充dropdown 与当前月份和年份,我对如何处理这个在我看来有点困惑,请注意我正在使用 CBV FormView .
我尝试过这样的事情 表单.py
from django import forms
import datetime
class StatisticsForm(forms.Form):
"""TODO: Simple form with two field, one for year
other for month, so user can list Statistics for
current month and year.
:returns: TODO"""
invoice_month = forms.CharField(label="month", max_length=225)
invoice_year = forms.CharField(label="year", max_length=225)
def get_initial(self):
initial = super(StatisticsForm, self).get_initial()
initial["invoice_month"] = datetime.date.today()
initial["invoice_year"] = datetime.date.today()
return initial
在我看来,我正在展示表格,我需要完成其余的工作。
view.py
from django.views.generic.edit import FormView
from .models import Rate
from statistics.forms import StatisticsForm
from statistics.services import StatisticsCalculation
class StatisticsView(FormView):
"""
TODO: We need to handle
Total Invoice - no matter how old, basically all of them
Current month Total Invoice
"""
template_name = "statistics/invoice_statistics.html"
form_class = StatisticsForm
def get_context_data(self, **kwargs):
context = super(StatisticsView, self).get_context_data(**kwargs)
def_currency = Rate.EUR
context["can_view"] = self.request.user.is_superuser
context["currency"] = def_currency
context["supplier_statistic"] = StatisticsCalculation.statistic_calculation(default_currency)
return context
【问题讨论】:
标签: python django django-forms django-class-based-views formview