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
- tomcat上釋出web專案的三個方法TomcatWeb
- JN專案-查詢條件過濾特殊字元字元
- 通過Web API查詢資料WebAPI
- Java web專案根目錄的獲得(釋出之後)JavaWeb
- ASP.NET網站怎麼釋出 Web專案程式怎麼釋出部署ASP.NET網站Web
- Qt 專案的打包釋出QT
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- 通過SQL查詢UDUMP檔案SQL
- jenkins專案釋出Jenkins
- 16.12.9 使用者管理專案——部門顯示與查詢
- Java中用URLConnection查詢Web檔案大小JavaWeb
- 檔案批次查詢複製匯出,按檔名批次查詢檔案,按檔案內容批次查詢檔案
- sqlserver新增查詢 表、欄位註釋,組合查詢所有的使用者、表名、表註釋SQLServer
- Maven通過命令建立web專案MavenWeb
- flutter釋出專案到pub的流程Flutter
- 在Django中查詢重複專案Django
- 淺入深出Vue:釋出專案Vue
- renren開源專案釋出
- Hyperf搭建websocket叢集專案(透過redis釋出訂閱)WebRedis
- 查詢使用者轉儲檔案的名字及位置
- ECS查詢特權介面DescribeAccountAttributes釋出
- vscode正則查詢專案中的中文VSCode
- 修改myeclipse釋出的專案名稱Eclipse
- docker釋出專案的一些坑Docker
- idea釋出web專案後Tomcat伺服器找不到該專案的問題及解決方法IdeaWebTomcat伺服器
- Bintray專案釋出-BintrayRelease
- java專案如何加密及釋出Java加密
- 小組專案----使用者需求調查
- DBA使用者查詢
- Golang仿雲盤專案-2.2 檔案查詢資訊介面Golang
- vue專案--瀏覽器出現卡頓及崩潰的原因查詢與解決方案Vue瀏覽器
- 如何釋出已經寫好的react專案React
- 給自己的專案釋出一個文件吧
- 對小組專案alpha釋出的評價
- Linux下的環境部署和專案釋出Linux
- 釋出 JavaScript 開源專案的學習指南JavaScript
- Android通過Gradle釋出開源專案到binary/JcenterAndroidGradle