Django+Vue.js怎么实现搜索功能

news2024/11/23 16:52:49

一.前言

类似这样的搜索功能

二.前端代码

<div class="form-container">
        <div class="form-group">
            <label for="departure-city">出发城市</label>
            <select v-model="departureCity" id="departure-city">
                <option value="北京">北京</option>
                <option value="上海">上海</option>
                <option value="广州">广州</option>
                <!-- 可以添加更多选项 -->
            </select>
        </div>
        <div class="form-group">
            <label for="destination-city">目的城市</label>
            <select v-model="destinationCity" id="destination-city">
                <option value="北京">北京</option>
                <option value="上海">上海</option>
                <option value="广州">广州</option>
                <!-- 可以添加更多选项 -->
            </select>
        </div>
        <div class="form-group">
            <label for="departure-date">出发时间</label>
            <input type="text" id="departure-date" v-model="departureDate" placeholder="选择日期">
        </div>
        <div class="form-group">
            <button @click="search" type="button">搜索</button>
        </div>
    </div>

做法非常简单,需要填写或者选择字段的地方,用v-model进行绑定,然后在搜索的地方绑定一个方法。

search() {
                var formData = new FormData();
                formData.append('departureCity', this.departureCity);
                formData.append('destinationCity', this.destinationCity);
                formData.append('departureDate', this.departureDate);
                axios.post('http://127.0.0.1:8000/plane/search/', formData)



后续代码省略

然后我们通过这样的方式传递到后端即可

然后在后端对数据库进行检索

三.后端代码

query = Q()
        if departureCity:
            query &= Q(departureCity=departureCity)
        if destinationCity:
            query &= Q(destinationCity=destinationCity)
        if departureDate:
            query &= Q(departureDate=departureDate)

        # 根据查询条件查询数据库
        flights = Flight.objects.filter(query)

通过这样的方式检索到数据然后返回给前端即可

query &= Q(departureCity=departureCity) 表示如果 departureCity 存在,则将 departureCity 的条件添加到查询中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1817777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS系统停服进入倒计时,用户该如何应对?

本月30日&#xff0c;CentOS 7将正式停服。 凭借开源免费、稳定、硬件兼容性等特性&#xff0c;CentOS深受中国乃至全世界厂商、开发者和用户的青睐&#xff0c;应用范围极为广泛。 停服停更&#xff0c;对于广大用户来说也是一项巨大的考验&#xff0c;这意味着用户将无法获得…

【web APIs】快速上手Day02

文章目录 Web APIs - 第2天事件事件监听案例一 :京东点击关闭顶部广告案例二&#xff1a;随机点名案例拓展知识-事件监听版本 双击事件 事件类型鼠标事件综合案例-轮播图完整版 焦点事件综合案例-小米搜索框案例 键盘事件文本事件 事件对象综合案例-按下回车发布评论 环境对象回…

VBA实战(Excel)(6):报错处理

前言 在运行VBA的过程中会有一些报错&#xff0c;例如类型不匹配等运行错误。On Error错误处理程序能直接有效的解决报错。但是当程序逻辑复杂时&#xff0c; 使用On Error会掩盖其他的未知错误&#xff0c;所以应尽可能想办法排除错误&#xff0c;或在已知功能范围内使用。 …

【有用】docker在windows下使用详情

在Windows下安装和使用Docker可以按照以下步骤进行&#xff1a; 安装 Docker Desktop 系统要求 • Windows 10 64-bit: Pro, Enterprise, or Education (1607 Anniversary Update, Build 14393 or later) • Windows 11 64-bit: Pro, Enterprise, or Education • Windows 10 …

python长方形周长面积 2024年3月青少年编程电子学会python编程等级考试二级真题解析

目录 python长方形周长面积 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python长方形周长面积 2024年3月 python编程等级考试级编程题 一、…

GIGE 协议摘录 —— 照相机的标准特征列表(五)

系列文章目录 GIGE 学习笔记 GIGE 协议摘录 —— 设备发现&#xff08;一&#xff09; GIGE 协议摘录 —— GVCP 协议&#xff08;二&#xff09; GIGE 协议摘录 —— GVSP 协议&#xff08;三&#xff09; GIGE 协议摘录 —— 引导寄存器&#xff08;四&#xff09; GIGE 协议…

数据中台:生产制造产业链的“智慧大脑”!

在当今激烈竞争的生产制造领域&#xff0c;数据中台正扮演着至关重要的角色&#xff0c;它就像是产业链的“智慧大脑”&#xff0c;引领着产业的发展方向&#xff01;数据中台在生产制造产业链、生态链中起到以下关键作用&#xff1a; 1. 数据整合与共享&#xff1a;将产业链各…

香橙派AIpro搭建NAS及AI功能介绍

简介和背景 本文档介绍如何用香橙派 AIpro和硬盘制作个人NAS服务器。 在一般场景下&#xff0c;专用的NAS设备或者台式电脑&#xff0c;他们占用体积庞大&#xff0c;并且功耗轻松就会到达100W以上&#xff0c;并且存在噪音大的问题。我们希望能够通过比较便捷简易的方法将硬盘…

YesPMP探索Python在生活中的应用,助力提升开发效率

Python是一种简单易学、高效强大的编程语言&#xff0c;正变成越来越多人选择的热门技能。学习Python不仅可以提供更多就业机会&#xff0c;还能让自己在职场更加有竞争力&#xff0c;那可以去哪里拓展自己的技能呢&#xff1f; YesPMP平台为熟练掌握Python语言的程序员提供了大…

Vue2后台管理:项目开发全流程(一)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:Vue2后台管理&#xff1a;项目开发全流程(一) 目录 Vue项目开发 项目架构搭建 1、创建项目 2、…

IDEA上MySQL的jar包导入教程

jar包下载网址——》https://mvnrepository.com/ 1.进入界面&#xff0c;点击搜索框&#xff0c;搜索mysql&#xff1a; 外国网站&#xff0c;可能有点慢,耐心等待即可。 2.点击查询结果&#xff1a; 进入界面&#xff0c;点击前两个结果的其中一个&#xff0c;两个都可以 …

《Brave New Words 》9.2 如何让孩子在 AI 未来职场中茁壮成长

Part IX: Work and What Comes Next 第九部分&#xff1a;工作及其未来发展 How to Prepare Kids to Thrive in the AI-Future Workplace 如何让孩子在 AI 未来职场中茁壮成长 It is several months before we launch Khanmigo, and I am speaking at the Stanford Computer Sc…

0603 BJT射极耦合差分式放大电路

6.2.3 BJT射极耦合差分式放大电路 电路组成 静态分析 动态分析 仅差模信号输入时 双端输出时电压增益 单端输出时电压增益 单端输入时 差模输入电阻 输出电阻 仅共模信号输入时 带有源负载的射极耦合差分式放大电路

【中间件】Pulsar集群安装

目录 一、Pulsar介绍 1.1 Pulsar基本介绍 1.2 Pulsar架构 Producer & Consumer Apache Zookeeper Pulsar Brokers Apache Bookkeeper 二、Zookeeper集群安装 三、Pulsar集群安装 3.1 bookie与broker配置 3.1.1 修改bookie配置文件 3.1.2 修改broker配置文件 3…

Python写UI自动化--playwright(安装)

Playwright是微软推出的开源自动化测试工具&#xff0c;专为跨浏览器端到端测试设计。Playwright可以在多个浏览器引擎上运行测试&#xff0c;包括基于Chromium的浏览器&#xff08;如Chrome、Edge&#xff09;、Firefox和WebKit&#xff08;Safari的技术基础&#xff09;。支持…

CTFHUB-SQL注入-MySQL结构

目录 sqlmap工具夺flag 查看数据库名 查看数据库中表名 查看第一个表中数据 查看第二个表的数据 手动注入 判断是否存在注入 判断字段数量 查询注入点 查询数据库版本 查询数据库名 查看所有数据库 查看表名 查看表中字段 查看表中数据 本题用到sqlmap工具&…

使用距离传感器数据预测驾驶路线(BOSCH)

使用距离传感器数据预测驾驶路线 Werner Uhler, Michael Scherl and Bernd Lichtenberg Robert Bosch GmbH ABSTRACT 将距离传感器检测到的车辆分配到相对于本车的车道是未来驾驶辅助系统&#xff08;如自适应巡航控制 (ACC)&#xff09;的一项重要且必要的任务。通过车辆前…

企业ERP系统的核心目的是什么?

如今&#xff0c;随着企业业务和规模的逐步扩大&#xff0c;传统的管理模式显然不能满足企业可持续发展的需要。如果不及时改变&#xff0c;很可能会被市场淘汰。ERP系统是当前企业信息管理的必要工具。它可以提高企业的办公效率&#xff0c;帮助企业摆脱传统管理的束缚&#x…

论文阅读Rolling-Unet,卷积结合MLP的图像分割模型

这篇论文提出了一种新的医学图像分割网络Rolling-Unet&#xff0c;目的是在不用Transformer的前提下&#xff0c;能同时有效提取局部特征和长距离依赖性,从而在性能和计算成本之间找到良好的平衡点。 论文地址&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/2…

小红书评论爬取使用教程[八猪采集器]

如何使用八猪采集器爬虫小红书评论, 以下是教程. 目录 1. 下载使用 2. 注册账号 3. 登录 4. 配置任务 5. 执行采集任务 6. 校验执行是否成功 7. 查询和操作评论数据 8. 导出评论数据 9. 下载软件 1. 下载使用 下载后解压缩到任意地址, 双击8zhu_collector.exe即可…