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

embedded/2024/10/18 0:29:40/

一.前言

类似这样的搜索功能

二.前端代码

<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.ppmy.cn/embedded/48612.html

相关文章

2024-06-07 Unity 编辑器开发之编辑器拓展8 —— Scene 窗口拓展

文章目录 1 Handles 类1.1 Scene 响应函数1.2 自定义窗口中监听 Scene1.3 Handles 常用 API2.2.1 颜色控制2.2.2 文本2.2.3 线段2.2.4 虚线2.2.5 圆弧2.2.6 圆2.2.7 立方体2.2.8 几何体2.2.9 移动、旋转、缩放2.2.10 自由移动 / 旋转 2 Scene 窗口中显示 GUI3 HandleUtility4 G…

【QT】记录一次QT程序发布exe过程

记录一次QT程序发布exe过程 使用windeploy与enigma发布独立的QT程序第一步 QT编译输出 **release** 版本第二步 QT 自带 windepoyqt 补全链接库第三步 enigma virtual box压缩打包为单一exe最后【2024-06-07 17】- 【补充】 贴一个自己用的bat脚本【**QtDeploy2exe.bat**】半自…

MySQL基础---库的操作和表的操作(配着自己的实操图,简单易上手)

绪论​ 勿问成功的秘诀为何&#xff0c;且尽全力做您应该做的事吧。–美华纳&#xff1b;本章是MySQL的第二章&#xff0c;本章主要写道MySQL中库和表的增删查改以及对库和表的备份处理&#xff0c;本章是基于上一章所写若没安装mysql可以查看Linux下搭建mysql软件及登录和基本…

Java-开发技巧

1.判断list或者map 用org.apache.commons.collections4包下的 CollectionUtils.isNotEmpty 2.判断字符串 用org.apache.commons.lang3包下的 StringUtils 3.执行分组操作&#xff0c;List<StatusDAO>不会为null情况 Map<LocalDateTime,List<StatusDAO>> …

前端学习----css基础语法

CSS概述 CAscading Style Sheets(级联样式表) CSS是一种样式语言,用于对HTML文档控制外观,自定义布局等,例如字体,颜色,边距等 可将页面的内容与表现形式分离,页面内容存放在HTML文档中,而用于定义表现形式的CSS在一个.css文件中或HTML文档的某一部分 HTML与CSS的关系 HTM…

代码随想录算法训练营第36期DAY58

DAY58 今天的主题是&#xff1a;编辑距离。在字符串进行增删字符的操作。 392判断子序列&#xff0c;简单 首先想到快慢双指针&#xff1a; 通过了&#xff0c;很好&#xff1a; class Solution {public: bool isSubsequence(string s, string t) { int slow0; …

【Qt实现录频】

在Qt中实现录制视频可以通过使用Qt Multimedia模块来实现。你可以使用QCamera类来访问摄像头并捕获视频数据。以下是一个简单的示例代码,用于在Qt中实现录制视频: #include <QCamera> #include <QCameraInfo> #include <QCameraViewfinder> #include <…

基于Verilog表达的FSM状态机

基于Verilog表达的FSM状态机 1 FSM1.1 Intro1.2 Why FSM?1.3 How to do 在这里聚焦基于Verilog的三段式状态机编程&#xff1b; 1 FSM 1.1 Intro 状态机是一种代码实现功能的范式&#xff1b;一切皆可状态机&#xff1b; 状态机编程四要素&#xff1a;– 1.状态State&#…