日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flask爱家租房--房屋管理(获取房屋详情)

發(fā)布時(shí)間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flask爱家租房--房屋管理(获取房屋详情) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 0.效果展示
    • 1.思路總結(jié)
    • 2.后端接口
    • 3.前端js
    • 4.前端html

0.效果展示

1.思路總結(jié)

1)房屋詳情頁面開始加載時(shí),detail.js首先通過定義的函數(shù)(重點(diǎn):document.location.search),截取需要向后端取得詳情頁面的house_id;


2)后端經(jīng)過邏輯處理,首先向redis中獲取相應(yīng)房屋的具體信息,若redis中不存在,則向數(shù)據(jù)庫查詢,返回給前端detail.js;
接下來,detail.js分兩部分對前端頁面進(jìn)行渲染;
效果如下:

3)同時(shí)判斷當(dāng)前用戶是否為房東,如果不為房東,則想用戶展示“即刻預(yù)訂”按鈕。

2.后端接口

houses.py相關(guān)接口:

@api.route("/houses/<int:house_id>", methods=["GET"]) def get_house_detail(house_id):"""獲取房屋詳情"""# 前端在房屋詳情頁面展示時(shí),如果瀏覽頁面的用戶不是該房屋的房東,則展示預(yù)定按鈕,否則不展示,# 所以需要后端返回登錄用戶的user_id# 嘗試獲取用戶登錄的信息,若登錄,則返回給前端登錄用戶的user_id,否則返回user_id=-1user_id = session.get("user_id", "-1")# 校驗(yàn)參數(shù)if not house_id:return jsonify(errno=RET.PARAMERR, errmsg="參數(shù)缺失")# 先從redis緩存中獲取信息try:ret = redis_store.get("house_info_%s" % house_id)except Exception as e:current_app.logger.error(e)ret = Noneif ret:current_app.logger.info("hit house info redis")return '{"errno":"0", "errmsg":"OK", "data":{"user_id":%s, "house":%s}}' % (user_id, ret), \200, {"Content-Type": "application/json"}# 查詢數(shù)據(jù)庫try:house = House.query.get(house_id)except Exception as e:current_app.logger.error(e)return jsonify(errno=RET.DBERR, errmsg="查詢數(shù)據(jù)失敗")if not house:return jsonify(errno=RET.NODATA, errmsg="房屋不存在")# 將房屋對象數(shù)據(jù)轉(zhuǎn)換為字典try:house_data = house.to_full_dict()except Exception as e:current_app.logger.error(e)return jsonify(errno=RET.DATAERR, errmsg="數(shù)據(jù)出錯(cuò)")# 存入到redis中json_house = json.dumps(house_data)try:redis_store.setex("house_info_%s" % house_id, constants.HOUSE_DETAIL_REDIS_EXPIRE_SECOND, json_house)except Exception as e:current_app.logger.error(e)resp = '{"errno":"0", "errmsg":"OK", "data":{"user_id":%s, "house":%s}}' % (user_id, json_house), \200, {"Content-Type": "application/json"}return resp

3.前端js

detail.js

function hrefBack() {history.go(-1); }// 解析提取url中的查詢字符串參數(shù) function decodeQuery(){var search = decodeURI(document.location.search);return search.replace(/(^\?)/, '').split('&').reduce(function(result, item){values = item.split('=');result[values[0]] = values[1];return result;}, {}); }$(document).ready(function(){// 獲取詳情頁面要展示的房屋編號var queryData = decodeQuery();var houseId = queryData["id"];// 獲取該房屋的詳細(xì)信息$.get("/api/v1.0/houses/" + houseId, function(resp){if ("0" == resp.errno) {$(".swiper-container").html(template("house-image-tmpl", {img_urls:resp.data.house.img_urls, price:resp.data.house.price}));$(".detail-con").html(template("house-detail-tmpl", {house:resp.data.house}));// resp.user_id為訪問頁面用戶,resp.data.user_id為房東if (resp.data.user_id != resp.data.house.user_id) {$(".book-house").attr("href", "/booking.html?hid="+resp.data.house.hid);$(".book-house").show();}var mySwiper = new Swiper ('.swiper-container', {loop: true,autoplay: 2000,autoplayDisableOnInteraction: false,pagination: '.swiper-pagination',paginationType: 'fraction'});}}) })

4.前端html

detail.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/swiper/css/swiper.min.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/detail.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="#" onclick="hrefBack();"><span><i class="fa fa-angle-left fa-2x"></i></span></a></div></div><div class="swiper-container"></div><script id="house-image-tmpl" type="text/html"><ul class="swiper-wrapper">{{each img_urls as img_url}}<li class="swiper-slide"><img src="{{img_url}}"></li>{{/each}}</ul><div class="swiper-pagination"></div><div class="house-price"><span>{{(price/100.0).toFixed(0)}}</span>/</div></script><div class="detail-con"></div><script id="house-detail-tmpl" type="text/html"><div class="detail-header layout-style"><h2 class="house-title">{{house.title}}</h2><div class="landlord-pic"><img src="{{house.user_avatar}}"></div><h2 class="landlord-name">房東: <span>{{house.user_name}}</span></h2></div><div class="house-info layout-style"><h3>房屋地址</h3><ul class="house-info-list text-center"><li>{{house.address}}</li></ul></div><ul class="house-type layout-style"><li><span class="icon-house"></span><div class="icon-text"><h3>出租{{house.room_count}}</h3><p>房屋面積:{{house.acreage}}平米</p><p>房屋戶型:{{house.unit}}</p></div></li><li><span class="icon-user"></span><div class="icon-text"><h3>宜住{{house.capacity}}</h3></div></li><li><span class="icon-bed"></span><div class="icon-text"><h3>臥床配置</h3><p>{{house.beds}}</p></div></li></ul><div class="house-info layout-style"><h3>房間詳情</h3><ul class="house-info-list"><li>收取押金<span>{{(house.deposit/100.0).toFixed(0)}}</span></li><li>最少入住天數(shù)<span>{{house.min_days}}</span></li><li>最多入住天數(shù)<span>{{if house.max_days==0}}無限制{{else}}{{house.max_days}}{{/if}}</span></li></ul></div><div class="house-facility layout-style"><h3>配套設(shè)施</h3><ul class="house-facility-list clearfix"><li><span class="{{if house.facilities.indexOf(1)>=0}}wirelessnetwork-ico{{else}}jinzhi-ico{{/if}}"></span>無線網(wǎng)絡(luò)</li><li><span class="{{if house.facilities.indexOf(2)>=0}}shower-ico{{else}}jinzhi-ico{{/if}}"></span>熱水淋浴</li><li><span class="{{if house.facilities.indexOf(3)>=0}}aircondition-ico{{else}}jinzhi-ico{{/if}}"></span>空調(diào)</li><li><span class="{{if house.facilities.indexOf(4)>=0}}heater-ico{{else}}jinzhi-ico{{/if}}"></span>暖氣</li><li><span class="{{if house.facilities.indexOf(5)>=0}}smoke-ico{{else}}jinzhi-ico{{/if}}"></span>允許吸煙</li><li><span class="{{if house.facilities.indexOf(6)>=0}}drinking-ico{{else}}jinzhi-ico{{/if}}"></span>飲水設(shè)備</li><li><span class="{{if house.facilities.indexOf(7)>=0}}brush-ico{{else}}jinzhi-ico{{/if}}"></span>牙具</li><li><span class="{{if house.facilities.indexOf(8)>=0}}soap-ico{{else}}jinzhi-ico{{/if}}"></span>香皂</li><li><span class="{{if house.facilities.indexOf(9)>=0}}slippers-ico{{else}}jinzhi-ico{{/if}}"></span>拖鞋</li><li><span class="{{if house.facilities.indexOf(10)>=0}}toiletpaper-ico{{else}}jinzhi-ico{{/if}}"></span>手紙</li><li><span class="{{if house.facilities.indexOf(11)>=0}}towel-ico{{else}}jinzhi-ico{{/if}}"></span>毛巾</li><li><span class="{{if house.facilities.indexOf(12)>=0}}toiletries-ico{{else}}jinzhi-ico{{/if}}"></span>沐浴露、洗發(fā)露</li><li><span class="{{if house.facilities.indexOf(13)>=0}}icebox-ico{{else}}jinzhi-ico{{/if}}"></span>冰箱</li><li><span class="{{if house.facilities.indexOf(14)>=0}}washer-ico{{else}}jinzhi-ico{{/if}}"></span>洗衣機(jī)</li><li><span class="{{if house.facilities.indexOf(15)>=0}}elevator-ico{{else}}jinzhi-ico{{/if}}"></span>電梯</li><li><span class="{{if house.facilities.indexOf(16)>=0}}iscook-ico{{else}}jinzhi-ico{{/if}}"></span>允許做飯</li><li><span class="{{if house.facilities.indexOf(17)>=0}}pet-ico{{else}}jinzhi-ico{{/if}}"></span>允許帶寵物</li><li><span class="{{if house.facilities.indexOf(18)>=0}}meet-ico{{else}}jinzhi-ico{{/if}}"></span>允許聚會(huì)</li><li><span class="{{if house.facilities.indexOf(19)>=0}}accesssys-ico{{else}}jinzhi-ico{{/if}}"></span>門禁系統(tǒng)</li><li><span class="{{if house.facilities.indexOf(20)>=0}}parkingspace-ico{{else}}jinzhi-ico{{/if}}"></span>停車位</li><li><span class="{{if house.facilities.indexOf(21)>=0}}wirednetwork-ico{{else}}jinzhi-ico{{/if}}"></span>有線網(wǎng)絡(luò)</li><li><span class="{{if house.facilities.indexOf(22)>=0}}tv-ico{{else}}jinzhi-ico{{/if}}"></span>電視</li><li><span class="{{if house.facilities.indexOf(23)>=0}}hotbathtub-ico{{else}}jinzhi-ico{{/if}}"></span>浴缸</li></ul></div>{{if house.comments }}<div class="house-info layout-style"><h3>評價(jià)信息</h3><ul class="house-comment-list">{{ each house.comments as comment}}<li><p>{{comment.user_name}}<span class="fr">{{comment.ctime}}</span></p><p>{{comment.comment}}</p></li>{{/each}}</ul></div>{{/if}}</script><a class="book-house" href="">即刻預(yù)定</a><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/swiper/js/swiper.jquery.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/detail.js"></script> </body> </html>

總結(jié)

以上是生活随笔為你收集整理的Flask爱家租房--房屋管理(获取房屋详情)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久丫精品久久丫 | 丝袜ol美脚秘书在线播放 | 美国色综合 | av影片在线看 | 少妇又紧又色又爽又刺激 | 91人人看 | 免费看黄在线网站 | 国产精品久久伊人 | 国产精品黄色在线观看 | 中文字幕第十一页 | 2021国产在线视频 | 天天躁日日躁狠狠躁免费麻豆 | 国产精品一二区 | 深爱激情五月婷婷 | 欧洲久久久久久 | 久久精品伊人 | 在线视频免费观看你懂的 | 女~淫辱の触手3d动漫 | 永久免费看mv网站入口78 | 久久亚洲中文字幕无码 | 99精品久久久久 | 欧美色88 | 美女日日日 | 日韩成人av网 | 久操精品在线 | 国产色影院 | 国产一级做a爰片久久毛片男男 | 亚洲v日韩v综合v精品v | 亚洲第一黄色片 | 黄色精品在线 | 国产精品久久久久久久av福利 | 亚洲日本久久久 | 老司机一区 | 欧美成人va | 国产在线观看无码免费视频 | 亚洲高清成人 | 三级性视频 | 521a人成v香蕉网站 | 中国免费观看的视频 | 狠狠爱五月婷婷 | 水牛影视av一区二区免费 | 四虎综合| 男插女视频网站 | 一级片免费在线 | 久久久久99精品成人片我成大片 | 捆绑调教sm束缚网站 | 国产小精品 | 欧美高清大白屁股ass18 | 俺啪也 | 免费精品视频在线观看 | 日b视频在线观看 | 91大神精品在线 | 日韩在线观看视频一区 | 人人干天天操 | 一区二区视频播放 | 热99视频| 久久有精品| 超碰在线 | 国产综合婷婷 | asian日本肉体pics | 少妇一级视频 | 国产一区二区三区在线播放无 | 天堂资源中文在线 | 人妻互换一区二区三区四区五区 | 欧美亚洲日本国产 | 国产毛片毛片毛片毛片毛片 | 麻豆亚洲av成人无码久久精品 | av在线观 | 91黄色大片| 男女被到爽流尿 | 久久免费视频播放 | 日韩激情一区二区三区 | 成人靠逼视频 | 国产精品视频久久久 | 日韩在线免费播放 | 国产又大又粗又长 | 亚洲精品电影在线 | 91丨porny在线| 午夜18视频在线观看 | 香蕉视频日本 | 日韩一区二区免费在线观看 | 亚洲h视频| 日本少妇吞精囗交视频 | av五十路| 一本色道久久88加勒比—综合 | 深夜福利影院 | 91美女精品| 亚洲午夜久久 | 成年人在线视频观看 | 午夜桃色 | 欧美日韩国产麻豆 | 123超碰 | 青青草伊人网 | 色爱综合区| 中文精品一区二区三区 | 国产精品国产精品国产专区不卡 | 国产一区视频在线观看免费 | 超碰人人插 | 中文字幕视频观看 |