Django 2字段窗体不工作

2024-10-01 15:47:08 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试搜索时,form中的2个字段不起作用。我总共有大约10个领域,他们都工作,但这两个没有

这是我的forms.py的一部分,其中的字段不起作用。你知道吗

class AllTablesForm(forms.Form):
    title = forms.CharField(label='', max_length=250, required=False,
                            widget=forms.TextInput(attrs={'placeholder': 'Title'}))


    .......

    redirectstatus = forms.IntegerField(label='', required=False,
                                        widget=forms.TextInput(attrs={'placeholder': 'Redirect Status'}))
    created_at = forms.DateTimeField(label='', required=False, input_formats=["%Y-%m-%d"],
                                     widget=forms.TextInput(attrs={'placeholder': 'Created At'}))

redirectstatuscreated_at不工作。
我约会的格式是这样的。你知道吗

在MySQL表中:

2017-09-27 13:03:49

当我用django打印时:

September 27, 2017 - 15:59:21

重定向的格式很简单。你知道吗

200
300
...

我想使created_at类似于phpmyadmin日期搜索。你知道吗

这是我的views.py

def search_form_table(request, pk):
    table_name = Crawledtables.objects.get(id=pk)
    t = create_model(table_name.name)

    if request.method == 'GET':
        form = AllTablesForm(request.GET)
        if form.is_valid():
            cd = form.cleaned_data
            title = cd['title']
            url = cd['url']
            description = cd['description']
            canonical = cd['canonical']
            robots = cd['robots']
            schematype = cd['schematype']
            redirectstatus = cd['redirectstatus']
            created_at = cd['created_at']
            query = t.objects.filter(title__icontains=title,
                                     url__icontains=url,
                                     description__icontains=description,
                                     canonical__icontains=canonical,
                                     robots__icontains=robots,
                                     schematype__icontains=schematype,
                                 redirectstatus__exact=redirectstatus,
                                     created_at__range=created_at)
            return render(request, 'search/search_table.html', {'tbl_name': table_name,
                                                                'form': form,
                                                                'details': query,
                                                                'detail': True})

        else:
            form = AllTablesForm()
    return render(request, 'search/search_table.html', {'form': form})

新增

如果我不把created_at放在过滤器里,只把redirectstatus和search 200放在重定向搜索里,它不会给我任何东西,如果把created_at放在过滤器里,它会给我错误:

ValueError: Cannot use None as a query value

Tags: nameformurlsearchtitlerequesttablecd

热门问题