Django多值搜寻栏

佩蒂哈克

对于我的网站,我正在尝试设计一个搜索栏,该搜索栏将过滤某个类别的多个属性,例如名称和电话。但是,我不知道如何从python的一页中获取多个值。我做了很多尝试,但都失败了。我正在发布最新消息(这也不起作用)。我真的可以使用一些帮助。

def search(request):
errors = []
if 'q1' in request.GET:
    q1 = request.GET['q1']
if 'q2' in request.GET:
        q2 = request.GET['q2']
    if not (q1 or q2):
        errors.append('Enter a search term.')
    elif ((len(q1) > 20) or (len(q2) > 20)):
        errors.append('Please enter at most 20 characters.')
    elif q1 and (not q2):
        hotels = Hotel.objects.filter(name__icontains=q1)
        return render(request, 'company/search_results.html', {'hotels': hotels, 'query': q1})
    elif ((not q1) and q2):
        hotels = Hotel.objects.filter(street__icontains=q2)
        return render(request, 'company/search_results.html', {'hotels': hotels, 'query': q2})
    else:
    names = Hotel.objects.filter(name__icontains=q1)
        streets = Hotel.objects.filter(street__icontains=q2)
    hotels = (names and streets)
        return render(request, 'company/search_results.html', {'hotels': hotels, 'query': (q1 or q2)})
return render(request, 'company/search_form.html',
    {'errors': errors})

我还将发布输入内容的html代码的一部分。

<table align="center">
        <tr>
            <td>name:</td>
            <td><input type="text" name="q1"></td> 
        </tr>
        <tr>
            <td>telephone:</td>
            <td><input type="text" name="q2"></td> 
        </tr>
    </table>
    <form action="/company/search/" method="get">
        <input type="submit" value="Search">
   </form>
席林特

我对您的代码进行了一些更改。首先,我曾经get()获取参数,所以您不需要在request.GET中使用if。接下来,我使用了链接QuerySet过滤器最后,我将q1和q2都返回给模板。当您可以同时输入两者时,仅返回查询是没有意义的。

def search(request):
    errors = []
    q1 = request.GET.get('q1')
    q2 = request.GET.get('q2')
    if not (q1 or q2):
        errors.append('Enter a search term.')
    elif ((len(q1) > 20) or (len(q2) > 20)):
        errors.append('Please enter at most 20 characters.')
    else:
        hotels = Hotel.objects.all()
        if q1:
            hotels = hotels.filter(name__icontains=q1)
        if q2:
            hotels = hotels.filter(street__icontains=q2)
    return render(request, 'company/search_results.html', {'hotels': hotels, 'q1': q1, 'q2': q2, 'errors': errors})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VBA额外栏搜寻

来自分类Dev

Exoplayer搜寻栏预览

来自分类Dev

django模型搜寻表格

来自分类Dev

在Django中搜寻表格

来自分类Dev

单击搜寻栏会重新启动视频,而不是搜寻

来自分类Dev

搜寻栏进度无法正确显示

来自分类Dev

搜寻栏中显示的缓冲音乐

来自分类Dev

图像亮度对比搜寻栏

来自分类Dev

搜寻过Swift之后,导航栏下方显示灰色栏

来自分类Dev

Django查询返回太多值

来自分类Dev

搜寻栏的两个值[-50、0、50]

来自分类Dev

Android垂直搜寻栏,例如Google Play音乐应用

来自分类Dev

更改自定义搜寻栏值以调整外观

来自分类Dev

Android Media Player搜寻栏从停止位置播放

来自分类Dev

Android:使自定义搜寻栏不透明

来自分类Dev

是否可以为YoutubePlayerView创建自定义搜寻栏

来自分类Dev

自定义搜寻栏进度颜色逐渐消失

来自分类Dev

使用搜寻栏设定计时器

来自分类Dev

了解多值字段的order_by(Django)

来自分类Dev

Android棉花糖-自定义搜寻栏进度栏未显示

来自分类常见问题

自定义搜寻栏(缩略图大小,颜色和背景)

来自分类Dev

范围选择器/范围搜寻栏可修剪包括缩略图的视频

来自分类Dev

Android:滚动搜寻栏时更改图像对比度和亮度

来自分类Dev

如何设置搜寻栏的最小值和最大值

来自分类Dev

Android使用向左和向左拖动搜寻栏控制视图高度

来自分类Dev

使用多个使用自定义搜寻栏的片段时,出现空指针异常

来自分类Dev

Android自定义警报对话框Mediaplayer搜寻栏

来自分类Dev

如何将自定义搜寻栏的ProgressDrawable大小设置为小于ProgressBackground

来自分类Dev

如何实现类似自定义搜寻栏的类似水平滚动小部件?

Related 相关文章

热门标签

归档