Django+Vue.js實(shí)現(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>
<!-- 可以添加更多選項(xiàng) -->
</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>
<!-- 可以添加更多選項(xiàng) -->
</select>
</div>
<div class="form-group">
<label for="departure-date">出發(fā)時(shí)間</label>
<input type="text" id="departure-date" v-model="departureDate" placeholder="選擇日期">
</div>
<div class="form-group">
<button @click="search" type="button">搜索</button>
</div>
</div>做法非常簡(jiǎn)單,需要填寫或者選擇字段的地方,用v-model進(jìn)行綁定,然后在搜索的地方綁定一個(gè)方法。
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ù)代碼省略然后我們通過(guò)這樣的方式傳遞到后端即可
然后在后端對(duì)數(shù)據(jù)庫(kù)進(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ù)庫(kù)
flights = Flight.objects.filter(query)通過(guò)這樣的方式檢索到數(shù)據(jù)然后返回給前端即可
query &= Q(departureCity=departureCity) 表示如果 departureCity 存在,則將 departureCity 的條件添加到查詢中。
到此這篇關(guān)于Django+Vue.js實(shí)現(xiàn)搜索功能的文章就介紹到這了,更多相關(guān)Django Vue.js搜索內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue安裝和使用scss及sass與scss的區(qū)別詳解
這篇文章主要介紹了vue安裝和使用教程,用了很久css預(yù)編譯器,但是一直不太清楚到底用的sass還是scss,直到有天被問(wèn)住了有點(diǎn)尷尬,感興趣的朋友一起看看吧2018-10-10
Vue使用jsmind實(shí)現(xiàn)生成腦圖的示例代碼
這篇文章主要為大家詳細(xì)介紹了Vue如何使用jsmind實(shí)現(xiàn)生成腦圖,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下2024-03-03
Vue Form表單的使用方法(rules格式校驗(yàn)網(wǎng)絡(luò)校驗(yàn)鍵盤按鍵監(jiān)聽)
本文介紹了在Vue.js中使用表單校驗(yàn)規(guī)則(rules)進(jìn)行網(wǎng)絡(luò)請(qǐng)求校驗(yàn)的方法,以及如何通過(guò)formRef引用表單對(duì)象并進(jìn)行鍵盤按鍵監(jiān)聽,感興趣的朋友跟隨小編一起看看吧2024-11-11
vue-cli-service的參數(shù)配置過(guò)程
這篇文章主要介紹了vue-cli-service的參數(shù)配置過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
前端Vue通過(guò)Minio返回的URL下載文件實(shí)現(xiàn)方法
Minio是一個(gè)靈活、高性能、開源的對(duì)象存儲(chǔ)解決方案,適用于各種存儲(chǔ)需求,并可以與云計(jì)算、容器化、大數(shù)據(jù)和應(yīng)用程序集成,這篇文章主要給大家介紹了關(guān)于前端Vue通過(guò)Minio返回的URL下載文件實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2024-07-07
解決vue-cli webpack打包開啟Gzip 報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了vue-cli webpack打包開啟Gzip 報(bào)錯(cuò)問(wèn)題的解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
vue學(xué)習(xí)筆記五:在vue項(xiàng)目里面使用引入公共方法詳解
這篇文章主要介紹了在vue項(xiàng)目里面使用引入公共方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
vue3 可拖動(dòng)的左右面板分割組件實(shí)現(xiàn)
最近在使用vue的時(shí)候,遇到一個(gè)需求,實(shí)現(xiàn)左右div可通過(guò)中間部分拖拽調(diào)整寬度,本文就整理一下,分享給大家,有興趣的可以學(xué)習(xí)2021-06-06

