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進(jìn)行綁定,然后在搜索的地方綁定一個方法。
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ù)庫進(jìn)行檢索
三.后端代碼
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
的條件添加到查詢中。
到此這篇關(guān)于Django+Vue.js實現(xiàn)搜索功能的文章就介紹到這了,更多相關(guān)Django Vue.js搜索內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue安裝和使用scss及sass與scss的區(qū)別詳解
這篇文章主要介紹了vue安裝和使用教程,用了很久css預(yù)編譯器,但是一直不太清楚到底用的sass還是scss,直到有天被問住了有點尷尬,感興趣的朋友一起看看吧2018-10-10Vue Form表單的使用方法(rules格式校驗網(wǎng)絡(luò)校驗鍵盤按鍵監(jiān)聽)
本文介紹了在Vue.js中使用表單校驗規(guī)則(rules)進(jìn)行網(wǎng)絡(luò)請求校驗的方法,以及如何通過formRef引用表單對象并進(jìn)行鍵盤按鍵監(jiān)聽,感興趣的朋友跟隨小編一起看看吧2024-11-11前端Vue通過Minio返回的URL下載文件實現(xiàn)方法
Minio是一個靈活、高性能、開源的對象存儲解決方案,適用于各種存儲需求,并可以與云計算、容器化、大數(shù)據(jù)和應(yīng)用程序集成,這篇文章主要給大家介紹了關(guān)于前端Vue通過Minio返回的URL下載文件實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2024-07-07解決vue-cli webpack打包開啟Gzip 報錯問題
這篇文章主要介紹了vue-cli webpack打包開啟Gzip 報錯問題的解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07vue學(xué)習(xí)筆記五:在vue項目里面使用引入公共方法詳解
這篇文章主要介紹了在vue項目里面使用引入公共方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04