Django+Vue.js實現(xiàn)搜索功能
一.前言
類似這樣的搜索功能

二.前端代碼
<div class="form-container">
<div class="form-group">
<label for="departure-city">出發(fā)城市</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">出發(fā)時間</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)
后續(xù)代碼省略然后我們通過這樣的方式傳遞到后端即可
然后在后端對數(shù)據(jù)庫進行檢索
三.后端代碼
query = Q()
if departureCity:
query &= Q(departureCity=departureCity)
if destinationCity:
query &= Q(destinationCity=destinationCity)
if departureDate:
query &= Q(departureDate=departureDate)
# 根據(jù)查詢條件查詢數(shù)據(jù)庫
flights = Flight.objects.filter(query)通過這樣的方式檢索到數(shù)據(jù)然后返回給前端即可
query &= Q(departureCity=departureCity) 表示如果 departureCity 存在,則將 departureCity 的條件添加到查詢中。
到此這篇關于Django+Vue.js實現(xiàn)搜索功能的文章就介紹到這了,更多相關Django Vue.js搜索內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue安裝和使用scss及sass與scss的區(qū)別詳解
這篇文章主要介紹了vue安裝和使用教程,用了很久css預編譯器,但是一直不太清楚到底用的sass還是scss,直到有天被問住了有點尷尬,感興趣的朋友一起看看吧2018-10-10
Vue Form表單的使用方法(rules格式校驗網(wǎng)絡校驗鍵盤按鍵監(jiān)聽)
本文介紹了在Vue.js中使用表單校驗規(guī)則(rules)進行網(wǎng)絡請求校驗的方法,以及如何通過formRef引用表單對象并進行鍵盤按鍵監(jiān)聽,感興趣的朋友跟隨小編一起看看吧2024-11-11
前端Vue通過Minio返回的URL下載文件實現(xiàn)方法
Minio是一個靈活、高性能、開源的對象存儲解決方案,適用于各種存儲需求,并可以與云計算、容器化、大數(shù)據(jù)和應用程序集成,這篇文章主要給大家介紹了關于前端Vue通過Minio返回的URL下載文件實現(xiàn)的相關資料,需要的朋友可以參考下2024-07-07
解決vue-cli webpack打包開啟Gzip 報錯問題
這篇文章主要介紹了vue-cli webpack打包開啟Gzip 報錯問題的解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07

