Flask愛家租房--房屋管理(獲取房東發布的房源信息條目)

文章目錄

  • 0.效果展示
  • 1.重點總結
  • 2.后端代碼
  • 3.前端html
  • 4.前端js

0.效果展示

在這里插入圖片描述

1.重點總結

1)用戶點擊“我的房源”,頁面開始加載,此時myhouse.js限定只有完成實名認證的房東才可以查詢已有的房源信息,因此myhouse.js首先調用用戶認證的接口,根據相應的返回值,判斷接下來應該返回登錄頁location.href = “/login.html"還是顯示報警信息 $(”.auth-warn").show()。
在這里插入圖片描述在這里插入圖片描述
2)如果調用用戶認證的接口后,發現用戶已經進行了實名注冊,此時調用后端返回房屋列表信息的接口get_user_houses();
在這里插入圖片描述在這里插入圖片描述

經過邏輯處理,將查詢到的房屋信息轉換為字典存放到列表中,并將狀態碼errno、返回信息errmsg、以及數據data一并通過jsonfiy()函數處理,將json格式的數據返回給前端myhouse.js文件。
在這里插入圖片描述3)接下來,myhouse.js文件將前端相應id的部分#houses-list進行渲染,并顯示給用戶。
在這里插入圖片描述

2.后端代碼

houses.py部分接口:

@api.route("/user/houses", methods=["GET"])
@login_required
def get_user_houses():"""獲取房東發布的房源信息條目"""user_id = g.user_idtry:# House.query.filter_by(user_id=user_id)user = User.query.get(user_id)houses = user.housesexcept Exception as e:current_app.logger.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})

3.前端html

myhouse.html

<!DOCTYPE html>
<html>
<head> <meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"><title>愛家-我的房源</title><link href="/static/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet"><link href="/static/plugins/font-awesome/css/font-awesome.min.css" rel="stylesheet"><link href="/static/css/reset.css" rel="stylesheet"><link href="/static/plugins/bootstrap-datepicker/css/bootstrap-datepicker.min.css" rel="stylesheet"><link href="/static/css/ihome/main.css" rel="stylesheet"><link href="/static/css/ihome/myhouse.css" rel="stylesheet">
</head>
<body><div class="container"><div class="top-bar"><div class="nav-bar"><h3 class="page-title">我的房源</h3><a class="nav-btn fl" href="/my.html"><span><i class="fa fa-angle-left fa-2x"></i></span></a></div></div><div class="houses-con"><ul class="houses-list auth-warn"><li><div class="house-title"><h3>尚未進行實名認證,無法發布房屋信息!</h3></div><div class="house-content"><a href="/auth.html" class="btn btn-success">去實名認證</a></div></li></ul><ul id="houses-list" class="houses-list"></ul><script id="houses-list-tmpl" type="text/html"><li><div class="new-house"><a href="/newhouse.html">發布新房源</a></div></li>{{each houses as house}}<li><a href="/detail.html?id={{house.house_id}}"><div class="house-title"><h3>房屋ID:{{house.house_id}} —— {{house.title}}</h3></div><div class="house-content"><img src="{{house.img_url}}"><div class="house-text"><ul><li>位于:{{house.area_name}}</li><li>價格:¥{{(house.price/100.0).toFixed(0)}}/</li><li>發布時間:{{house.ctime}}</li></ul></div></div></a></li>{{/each}}</script></div><div class="footer"><p><span><i class="fa fa-copyright"></i></span>愛家租房&nbsp;&nbsp;享受家的溫馨</p></div> </div><script src="/static/js/jquery.min.js"></script><script src="/static/plugins/bootstrap/js/bootstrap.min.js"></script><script src="/static/plugins/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script><script src="/static/plugins/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js"></script><script src="/static/js/template.js"></script><script src="/static/js/ihome/myhouse.js"></script>
</body>
</html>

4.前端js

myhouse.js:

$(document).ready(function(){// 對于發布房源,只有認證后的用戶才可以,所以先判斷用戶的實名認證狀態$.get("/api/v1.0/users/auth", function(resp){if ("4101" == resp.errno) {// 用戶未登錄location.href = "/login.html";} else if ("0" == resp.errno) {// 未認證的用戶,在頁面中展示 "去認證"的按鈕if (!(resp.data.real_name && resp.data.id_card)) {$(".auth-warn").show();return;}// 已認證的用戶,請求其之前發布的房源信息$.get("/api/v1.0/user/houses", function(resp){if ("0" == resp.errno) {$("#houses-list").html(template("houses-list-tmpl", {houses:resp.data.houses}));} else {$("#houses-list").html(template("houses-list-tmpl", {houses:[]}));}});}});
})

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452601.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452601.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452601.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TCP如何利用不可靠的IP協議實現可靠傳輸

IP協議之所以是不可靠的是因為IP網絡存在沖突丟包及傳輸錯誤甚至被惡意篡改的情況&#xff1b;雖然IP協議是不可靠的&#xff0c;但其服務的上層協議為了規避這些不可靠的因素&#xff0c;有些協議就會自己設計機制從而保證自己傳輸的內容可靠&#xff1b;TCP就是其中之一&…

jsp通過include指令引入html亂碼的解決方法

本文轉自&#xff1a;https://blog.csdn.net/gnail_oug/article/details/51707061 在jsp中使用<%include file"in.html" %>導入html頁面時&#xff0c;如果html頁面里有中文&#xff0c;就會產生亂碼。檢查jsp文件和html文件的編碼&#xff0c;編碼一致&#x…

linux怎么刪干凈mysql,linux怎么干凈卸載mysql

1、查找以前是否裝有mysql命令&#xff1a;rpm -qa|grep -i mysql可以看到如下圖的所示&#xff1a;說明之前安裝了&#xff1a;MySQL-client-5.5.25a-1.rhel5MySQL-server-5.5.25a-1.rhel52、停止mysql服務、刪除之前安裝的mysql刪除命令&#xff1a;rpm -e –nodeps 包名# rp…

各大互聯網公司java開發面試常問問題

本人是做java開發的&#xff0c;這是我參加58&#xff0c;搜狐&#xff0c;搜狗&#xff0c;新浪微博&#xff0c;百度&#xff0c;騰訊文學&#xff0c;網易以及其他一些小的創業型公司的面試常被問的問題&#xff0c;當然有重復&#xff0c;弄清楚這些&#xff0c;相信面試會…

14種方法助你參與開源項目

導讀&#xff1a;每日[快訊精選]是由CSDN研發頻道推出的特色欄目&#xff0c;每一天我們將從國外技術媒體(例如Hacker News、Reddit...等等)中挑選出有價值的新聞簡訊&#xff0c;讓您在第一時間掌握業界主流的技術文摘&#xff0c;每天清晨為您獻上第一份技術早餐。 [1]Javac…

Flask愛家租房--房屋管理(獲取主頁幻燈片展示的房屋基本信息)

文章目錄0.效果展示1.重點總結2.后端代碼3.前端js4.前端html0.效果展示 1.重點總結 1&#xff09;當用戶訪問首頁時&#xff0c;開始加載頁面信息&#xff0c;此時index.js文件首先調用后端接口check_login()&#xff0c;判斷用戶是否登錄&#xff0c;未登錄則在右上角關聯注冊…

C#題目及答案(1)

1. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。 答 . private : 私有成員, 在類的內部才可以訪問。 protected : 保護成員,該類內部和繼承類中可以訪問。 public : 公共成員,完全公開,沒有訪問限制。 internal: 在同一命名空間內可以訪問。 2 .列舉ASP.N…

linux bash函數里面調用命令行,Linux-在gnome-terminal -x中運行bash函數

您可以將其與export -f一起使用,就像kojiro的上面的注釋中指出的那樣.# Define function.my_func() {// Do cool stuff}# Export it, so that all child bash processes see it.export -f my_func# Invoke gnome-terminal with bash -c and the function name, *plus*# another…

隨想錄(軟件開發不能是加工作坊)

前一段時間看了一本《走出軟件作坊》&#xff0c;心情很沉重。不管你是否承認&#xff0c;書中描述的情況在現在的國內IT企業中確實存在&#xff0c;可能涉及的范圍還很廣。聯想到自己目前處于的行業&#xff0c;心中不免唏噓不已。類似的事件&#xff0c;類似的方法&#xff0…

程序員的核心競爭力

1、穩定的基礎知識體系&#xff1b; 2、需求到模型的轉化建模能力&#xff1b; 3、獨立思考能力&#xff1b; 4、思想&#xff1a;世界觀、方法論。

Flask愛家租房--訂單支付(支付過程)

文章目錄0.支付流程1. 重點總結2.后端代碼3.前端js4.前端html0.支付流程 1. 重點總結 1&#xff09;用戶進入“我的訂單”頁面&#xff0c;點擊“去支付”&#xff1b; 觸發后端js中的函數&#xff0c;發出ajsx異步請求&#xff0c;調用后端相應接口order_pay(order_id)&#…

微信小程序利用key實現列表性能的提升

微信小程序利用key實現列表性能的提升 key值在列表渲染的時候&#xff0c;能夠提升列表渲染性能&#xff0c;為什么呢&#xff1f;首先得想想小程序的頁面是如何渲染的&#xff0c;主要分為以下幾步&#xff1a; 將wxml結構的文檔構建成一個vdom虛擬數頁面有新的交互&#xff0…

CentOS MySQL 5.7編譯安裝

CentOS MySQL 5.7編譯安裝 MySQL 5.7 GA版本的發布&#xff0c;也就是說從現在開始5.7已經可以在生產環境中使用&#xff0c;有任何問題官方都將立刻修復。 MySQL 5.7主要特性&#xff1a; 更好的性能&#xff1a;對于多核CPU、固態硬盤、鎖有著更好的優化&#xff0c;每秒100…

為什么設計師創造的編程語言更受歡迎?

導讀&#xff1a;在編程的世界里&#xff0c;語言紛繁多樣&#xff0c;而大部分真正廣泛流行的語言并不是那些學術界的產物&#xff0c;而是在通過自由發揮設計出來的。 和那些在最后期限重壓下產生的語言版本比較起來&#xff0c;從一定程度上來看&#xff0c;從學術界產生出…

狀態轉換圖簡介

狀態轉換圖(簡稱為狀態圖)通過描繪系統的狀態及引起系統狀態轉換的事件&#xff0c;來表示系統的行為。此外&#xff0c;狀態圖還指明了作為特定事件的結果系統將做哪些動作。 &#xff08;一&#xff09;狀態 狀態是任何可以被觀察到的系統行為模式&#xff0c;一個狀態代表…

C#常用單元測試框架比較:XUnit、NUnit和Visual Studio(MSTest)

做過單元測試的同學大概都知道以上幾種測試框架&#xff0c;但我一直很好奇它們到底有什么不同&#xff0c;然后搜到了一篇不錯的文章清楚地解釋了這幾種框架的最大不同之處。 地址在這里&#xff1a;http://www.tuicool.com/articles/F3eEn2j 簡而言之&#xff0c;三者是非常相…

實驗五 類和對象-3

1.ex3.cpp 1 #include <iostream>2 #include <vector>3 #include <string>4 using namespace std;5 6 // 函數聲明 7 void output1(vector<string> &); 8 void output2(vector<string> &); 9 10 int main() 11 { 12 vector<st…

Vector用法詳解

這篇文章的目的是為了介紹std::vector&#xff0c;如何恰當地使用它們的成員函數等操作。本文中還討論了條件函數和函數指針在迭代算法中使用&#xff0c;如在remove_if()和for_each()中的使用。通過閱讀這篇文章讀者應該能夠有效地使用vector容器&#xff0c;而且應該不會再去…