web專案038-----查詢使用者釋出過的房屋
查詢使用者釋出過的房屋
如果我想知道當前登陸的使用者發不過那些房間,這個怎麼查呢
首先我們可以在網頁中看到,我們有一個house的GHT請求
所以我們要寫/user/houses這個路由
首先你需要獲取當前使用者
@api.route("/user/houses", methods=["GET"])
@login_required
def get_user_houses():
"""
獲取使用者釋出的房源
:return: 釋出的房源資訊
"""
# 獲取當前的使用者
user_id = g.user_id
我們怎樣去查詢呢,我麼是不是應該查詢House模型?
首先看models檔案
我們可以看到User模型中有houses,與House是外來鍵的關係
我們看House模型
我們不需要獲取user_id,我們需要根據使用者來查詢這個使用者釋出了那些房間
這是我們之前定一個的g物件,獲取的就是使用者的id
所以我們直接在User模型中用過id查詢資訊,在通過查詢的資訊中獲取house的資訊
try:
user = User.query.get(user_id)
houses = user.houses
except Exception as e:
logging.error(e)
return jsonify(errno=RET.DBERR, errmsg='獲取資料失敗')
print(houses)
我們重新訪問網頁
確實發不過5個房源,證明我們寫的目前沒有問題,繼續
接下來我們需要想前端返回資料
我們開啟對應的js檔案,檢視我們需要返回什麼資料
這裡使用template,在前幾章我們說過https://blog.csdn.net/zaaaacki/article/details/111055230
後面是他要接收的資料
我們返回資料
但是我們可以從前面注意到,houses是個列表,我們要返回列表中的資訊我們該怎麼做呢
我們在House模型中可以看到他裡面有一些方法
我們直接呼叫這個方法
@api.route("/user/houses", methods=["GET"])
@login_required
def get_user_houses():
"""
獲取使用者釋出的房源
:return: 釋出的房源資訊
"""
# 獲取當前的使用者
user_id = g.user_id
try:
user = User.query.get(user_id)
houses = user.houses
except Exception as e:
logging.error(e)
return jsonify(errno=RET.DBERR, errmsg='獲取資料失敗')
# 將查詢到的房屋資訊轉換成字典放到列表中
houses_list = []
if houses:
for house in houses:
houses_list.append(house.to_basic_dict())
return jsonify(errno=RET.OK, errmsg='OK', data={"houses": houses_list})
現在都把資料給我們返回出來了
但是我們js用了那個模版引擎
但是myhouse的html檔案並沒有做出改變,程式碼都是寫死的
可以吧這三個寫死的刪掉或者註釋,因為我們可能需要對照著寫,所以先註釋
第一個不能刪,這個釋出新房源得留著
我們回顧一下那個模版怎麼用的,先寫一個script
再把
然後再把要改的東西放裡面
<ul id="houses-list" class="houses-list">
<script>
<li>
<div class="new-house">
<a href="/newhouse.html">釋出新房源</a>
</div>
</li>
<li>
<a href="/detail.html?id={{house.house_id}}&f=my">
<div class="house-title">
<h3>房屋ID:1 —— 房屋標題1</h3>
</div>
<div class="house-content">
<img src="/static/images/home01.jpg">
<div class="house-text">
<ul>
<li>位於:西城區</li>
<li>價格:¥200/晚</li>
<li>釋出時間:2016-11-11 20:00:00</li>
</ul>
</div>
</div>
</a>
</li>
</script>
我們需要給script新增引數,這個id名字js裡面用什麼的就寫什麼的
我們還需要迴圈這個li,還要修改
我們通過each迴圈輸出,並且我們要把其中的內容修改,不能寫死,比如房屋ID:需要從後端獲取來顯示
價格:
我們執行網頁
成功!
相關文章
- Azure Web App (一)釋出你的Net Core Web 專案WebAPP
- 通過Web API查詢資料WebAPI
- Qt 專案的打包釋出QT
- Java中用URLConnection查詢Web檔案大小JavaWeb
- qml釋出專案
- jenkins專案釋出Jenkins
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- ECS查詢特權介面DescribeAccountAttributes釋出
- vscode正則查詢專案中的中文VSCode
- 檔案批次查詢複製匯出,按檔名批次查詢檔案,按檔案內容批次查詢檔案
- Bintray專案釋出-BintrayRelease
- 《2020年IT行業專案管理調查報告》重磅釋出行業專案管理
- idea釋出web專案後Tomcat伺服器找不到該專案的問題及解決方法IdeaWebTomcat伺服器
- 在Django中查詢重複專案Django
- flutter釋出專案到pub的流程Flutter
- renren開源專案釋出
- 淺入深出Vue:釋出專案Vue
- Hyperf搭建websocket叢集專案(透過redis釋出訂閱)WebRedis
- 釋出nuget 如何配置專案檔案
- docker釋出專案的一些坑Docker
- 通過 Github Action 釋出 SpringBoot Docker 專案到雲伺服器GithubSpring BootDocker伺服器
- 利用jitpack.io釋出Android、Java專案,通過gradle方式引用AndroidJavaGradle
- pipeline釋出java網站專案Java網站
- 檔案查詢
- JN專案-時間查詢條件驗證
- 給自己的專案釋出一個文件吧
- 如何釋出已經寫好的react專案React
- UserService 查詢使用者查詢許可權 isGlobalQuery分析
- Golang仿雲盤專案-2.2 檔案查詢資訊介面Golang
- es的查詢和過濾contextContext
- 使用fjpublish釋出前端專案(安全篇)前端
- ReactNative專案自動化打包釋出React
- vue專案--瀏覽器出現卡頓及崩潰的原因查詢與解決方案Vue瀏覽器
- 34. 過濾條件、多表查詢、子查詢
- 一條select的查詢的過程
- PHP專案中如何用PDO查詢臨時表?PHP
- Elasticsearch 查詢與過濾Elasticsearch
- Elasticsearch——filter過濾查詢ElasticsearchFilter