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

一.前言

类似这样的搜索功能

二.前端代码

<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 的条件添加到查询中。

相关推荐

  1. React查询、搜索功能实现

    2024-06-12 16:22:04       42 阅读
  2. React查询、搜索功能实现

    2024-06-12 16:22:04       36 阅读
  3. 高亮搜索中的关键字怎么实现

    2024-06-12 16:22:04       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 16:22:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 16:22:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 16:22:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 16:22:04       20 阅读

热门阅读

  1. 计算机专业:依旧是“万金油”的选择吗?

    2024-06-12 16:22:04       8 阅读
  2. python之语法糖

    2024-06-12 16:22:04       6 阅读
  3. CMake典型应用参考样例

    2024-06-12 16:22:04       6 阅读
  4. 如何编写测试用例?

    2024-06-12 16:22:04       9 阅读
  5. Qt---pro文件的学习

    2024-06-12 16:22:04       7 阅读
  6. Bently nevada 125760-01 数据管理器输入模块

    2024-06-12 16:22:04       9 阅读
  7. python 启动 exe

    2024-06-12 16:22:04       6 阅读
  8. Adobe Illustrator 基础学习

    2024-06-12 16:22:04       9 阅读
  9. Web前端开发新书:探索技术与艺术的交融之旅

    2024-06-12 16:22:04       7 阅读