【问题标题】:Django: error in date input fieldDjango:日期输入字段中的错误
【发布时间】:2015-01-29 07:14:37
【问题描述】:

我正在使用 django 表单来呈现一个 html 表单页面。除了我的日期时间表单字段元素之外,一切似乎都正常工作。我需要将用户输入的日期值传递给一个 MSSQL SP,但是,当我尝试打印输入的日期时,它会打印一个空行。我正在为我的日期表单字段使用 SelectDateWidget

关于我在这里做错的任何建议

forms.py

class ConsistencyForm(forms.Form):

Customer=forms.ModelChoiceField(
    label="Customer Name",
    widget=forms.Select,
    queryset=Customer.objects.all(),
    empty_label=None,
    )

Severity_level=forms.ModelChoiceField(
     label="Severity Level",
    widget=forms.Select,
    queryset=Criticality.objects.all(),
    empty_label=None,
    help_text="</br>"
    )

run_date=forms.DateField(
    label="Run Date", widget=SelectDateWidget(years=range(2000, datetime.date.today().year+10)),initial=timezone.now(),
    help_text='</br>')

views.py

def consisreportgen(request):
if request.method == 'POST':
    form = ConsistencyForm(request.POST or None)
    if form.is_valid():
        customername=request.POST.get('Customer','')
        rundate=request.POST.get('run_date','')
        Customer=form.cleaned_data['Customer']
        run_date=form.cleaned_data['run_date']
        print(modules_choosen)
        print(customername)
        print(severity)
        print(rundate)

        return HttpResponseRedirect('/consistency/results/')

else:
    form = ConsistencyForm

return render(request,'consistency/consistency.html', {'form': form})

【问题讨论】:

    标签: django validation django-forms


    【解决方案1】:

    如果客户是模特,你不能像这样给它赋值

    Customer=form.cleaned_data['Customer']
    

    你应该创建 Customer 类的 onject 然后给他一些值,像这样:

    customer = Customer()
    customer.name = form.cleaned_data['Customer']
    

    【讨论】:

    • 我有一个类名“客户”,但在这里我使用客户作为字段名。我想我们可以这样做。即使我更改表单字段的名称,这也不会改变任何事情。我验证我的 rundate 字段时遇到问题。我想我是在说清楚。
    猜你喜欢
    • 2022-07-08
    • 2012-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多