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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flask爱家租房--发布新房源(保存房屋基本信息)

發布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flask爱家租房--发布新房源(保存房屋基本信息) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0.頁面展示效果

1.后端代碼

@api.route("/houses/info", methods=["POST"]) @login_required def save_house_info():"""保存房屋的基本信息前端發送過來的json數據{"title":"","price":"","area_id":"1","address":"","room_count":"","acreage":"","unit":"","capacity":"","beds":"","deposit":"","min_days":"","max_days":"","facility":["7","8"]}"""# 獲取數據user_id = g.user_idhouse_data = request.get_json()title = house_data.get("title") # 房屋名稱標題price = house_data.get("price") # 房屋單價area_id = house_data.get("area_id") # 房屋所屬城區的編號address = house_data.get("address") # 房屋地址room_count = house_data.get("room_count") # 房屋包含的房間數目acreage = house_data.get("acreage") # 房屋面積unit = house_data.get("unit") # 房屋布局(幾室幾廳)capacity = house_data.get("capacity") # 房屋容納人數beds = house_data.get("beds") # 房屋臥床數目deposit = house_data.get("deposit") # 押金min_days = house_data.get("min_days") # 最小入住天數max_days = house_data.get("max_days") # 最大入住天數# 校驗參數if not all([title, price, area_id, address, room_count, acreage, unit, capacity, beds, deposit, min_days, max_days]):return jsonify(errno=RET.PARAMERR, errmsg="參數不完整")# 判斷金額是否正確try:price = int(float(price) * 100)deposit = int(float(deposit) * 100)except Exception as e:current_app.logger.error(e)return jsonify(errno=RET.PARAMERR, errmsg="參數錯誤")# 判斷城區id是否存在try:area = Area.query.get(area_id)except Exception as e:current_app.logger.error(e)return jsonify(errno=RET.DBERR, errmsg="數據庫異常")if area is None:return jsonify(errno=RET.NODATA, errmsg="城區信息有誤")# 保存房屋信息house = House(user_id=user_id,area_id=area_id,title=title,price=price,address=address,room_count=room_count,acreage=acreage,unit=unit,capacity=capacity,beds=beds,deposit=deposit,min_days=min_days,max_days=max_days)# 處理房屋的設施信息facility_ids = house_data.get("facility")# 如果用戶勾選了設施信息,再保存數據庫if facility_ids:# ["7","8"]try:# select * from ih_facility_info where id in []facilities = Facility.query.filter(Facility.id.in_(facility_ids)).all()except Exception as e:current_app.logger.error(e)return jsonify(errno=RET.DBERR, errmsg="數據庫異常")if facilities:# 表示有合法的設施數據# 保存設施數據house.facilities = facilitiestry:db.session.add(house)db.session.commit()except Exception as e:current_app.logger.error(e)db.session.rollback()return jsonify(errno=RET.DBERR, errmsg="保存數據失敗")# 保存數據成功return jsonify(errno=RET.OK, errmsg="OK", data={"house_id": house.id})

2.前端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/newhouse.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="/myhouse.html"><span><i class="fa fa-angle-left fa-2x"></i></span></a></div></div><div class="houses-con"><ul class="houses-list"><form id="form-house-info"><li><div class="house-title"><h3>基本信息</h3></div><div class="house-content"><div class="form-group"><label for="house-title">房屋標題</label><input type="text" class="form-control" name="title" id="house-title" required></div><div class="form-group"><label for="house-price">每晚價格</label><input type="number" class="form-control" name="price" id="house-price" required></div><div class="form-group"><label for="area-id">所在城區</label><select class="form-control" id="area-id" name="area_id"></select><script type="text/html" id="areas-tmpl">{{ each areas as area}}<option value="{{ area.aid }}">{{ area.aname }}</option>{{ /each }}</script></div><div class="form-group"><label for="house-address">詳細地址</label><textarea class="form-control" name="address" id="house-address" required></textarea></div> </div></li><li><div class="house-title"><h3>詳細信息</h3></div><div class="house-content"><div class="form-group"><label for="house-room-count">出租房間數目</label><input type="number" class="form-control" name="room_count" id="house-room-count" required></div><div class="form-group"><label for="house-acreage">房屋面積</label><input type="number" class="form-control" name="acreage" id="house-acreage" required></div><div class="form-group"><label for="house-unit">戶型描述</label><input type="text" class="form-control" name="unit" id="house-unit" placeholder="如:三室兩廳兩衛" required></div><div class="form-group"><label for="house-capacity">宜住人數</label><input type="number" class="form-control" name="capacity" id="house-capacity" required></div><div class="form-group"><label for="house-beds">臥床配置</label><input type="text" class="form-control" name="beds" id="house-beds" placeholder="如:雙人床:2x1.8x1張 1.5x2x2張" required></div> <div class="form-group"><label for="house-deposit">押金數額</label><input type="number" class="form-control" name="deposit" id="house-deposit" required></div><div class="form-group"><label for="house-min-days">最少入住天數</label><input type="number" class="form-control" name="min_days" id="house-min-days" required></div><div class="form-group"><label for="house-max-days">最多入住天數</label><input type="number" class="form-control" name="max_days" id="house-max-days" placeholder="0表示無限制" required></div></div></li><li><div class="house-title"><h3>配套設施</h3></div><div class="house-content"><ul class="house-facility-list clearfix"><li><div class="checkbox"><label><input type="checkbox" name="facility" value="1">無線網絡</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="2">熱水淋浴</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="3">空調</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="4">暖氣</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="5">允許吸煙</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="6">飲水設備</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="7">牙具</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="8">香皂</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="9">拖鞋</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="10">手紙</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="11">毛巾</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="12">沐浴露、洗發露</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="13">冰箱</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="14">洗衣機</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="15">電梯</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="16">允許做飯</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="17">允許帶寵物</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="18">允許聚會</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="19">門禁系統</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="20">停車位</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="21">有線網絡</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="22">電視</label></div></li><li><div class="checkbox"><label><input type="checkbox" name="facility" value="23">浴缸</label></div></li></ul></div></li><input type="submit" class="btn btn-success btn-commit" value="發布房源信息"><div class="error-msg text-center"><i class="fa fa-exclamation-circle"></i>請將全部信息填寫完整后再提交</div></form><form id="form-house-image" action="/api/house/image" method="post" enctype="multipart/form-data"><input type="hidden" name="house_id" id="house-id" value=""><li><div class="house-title"><h3>添加圖片</h3></div><div class="house-content"><div class="house-image-cons"></div><div class="form-group"><label for="house-image">選擇圖片</label><input type="file" accept="image/*" name="house_image" id="house-image"></div><input type="submit" class="btn btn-success" value="上傳"></div></li></form></ul></div><div class="popup_con"><div class="popup"><p><i class="fa fa-spinner fa-spin fa-3x fa-fw"></i></p></div><div class="mask"></div></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/js/jquery.form.min.js"></script><script src="/static/js/template.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/ihome/newhouse.js"></script> </body> </html>

3.前端js代碼

$("#form-house-info").submit(function (e) {e.preventDefault();// 處理表單數據var data = {};$("#form-house-info").serializeArray().map(function(x) { data[x.name]=x.value });// 收集設置id信息var facility = [];$(":checked[name=facility]").each(function(index, x){facility[index] = $(x).val()});data.facility = facility;// 向后端發送請求$.ajax({url: "/api/v1.0/houses/info",type: "post",contentType: "application/json",data: JSON.stringify(data),dataType: "json",headers: {"X-CSRFToken": getCookie("csrf_token")},success: function (resp) {if (resp.errno == "4101") {// 用戶未登錄location.href = "/login.html";} else if (resp.errno == "0") {// 隱藏基本信息表單$("#form-house-info").hide();// 顯示圖片表單$("#form-house-image").show();// 設置圖片表單中的house_id$("#house-id").val(resp.data.house_id);} else {alert(resp.errmsg);}}})}); 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Flask爱家租房--发布新房源(保存房屋基本信息)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人妻视频一区二区三区 | 国产精品久久免费 | 黄色网页入口 | 午夜视频福利在线观看 | 色婷婷激情五月 | 国产欧美久久久精品免费 | 这里只有精品视频在线观看 | 自拍超碰在线 | 一区二区三区黄色录像 | 久久久久久久久久久久久久久久久久久 | 美女隐私免费看 | 痴女扩张宫交脱垂重口小说 | 国产91九色 | 激情影院内射美女 | 国产破处av | 国内自拍真实伦在线观看 | 久久国产这里只有精品 | 国产你懂的 | 国产三级在线看 | 日韩美女激情视频 | 人人干在线 | 国产无遮挡呻吟娇喘视频 | 九色蝌蚪9l视频蝌蚪9l视频 | 亚洲第九页| 亚洲国产网 | 麻豆日韩 | www.jizzjizz | 亚洲欧美在线一区 | 黄色一级免费视频 | 91快色 | 蜜桃在线一区二区 | 欧美一区二区三区久久综合 | 3d动漫精品啪啪一区二区免费 | av片大全 | 一级片美女| 黑名单上的人全集免费观看 | 国产成人精品视频 | 欧美亚洲一区二区三区 | 韩国美女一区 | 性久久久久久久 | 午夜视频一区 | 日韩免费观看 | a∨视频 | 欧美一区自拍 | wwwwyoujizzcom| 日韩一区二区三区视频在线 | 黄网视频在线观看 | 亚洲福利视频在线 | 国产成人午夜精品无码区久久 | 国产第八页 | 亚洲高清免费观看 | 最新久久 | 在线播放你懂的 | 欧美卡一卡二卡三 | 欧美少妇喷水 | 中国一级片黄色一级片黄 | 亚洲男人的天堂在线视频 | 极品少妇网站 | 日本特黄一级 | 日本高清网站 | 艳妇乳肉豪妇荡乳 | 无码免费一区二区三区 | 欧美美女一区二区 | n0659极腔濑亚美莉在线播放播放 | 6080福利 | 能看av的网站 | www欧美日韩| 久久国产日韩 | 一级毛片儿 | 亚洲成a人片77777kkkk | 高清视频一区二区 | 国产精品电影 | 91亚洲精品久久久蜜桃 | 日日狠狠久久偷偷四色综合免费 | 在线超碰av | 天天干天天爱天天操 | 欧美三级特黄 | 亚洲黄色网页 | 欧美xxx性 | 日韩中文字幕av | 日韩高清在线观看一区 | 国产在线拍揄自揄拍无码 | 欧美日韩在线国产 | 男人看片网站 | 亚洲无码精品在线播放 | 国产精品一区无码 | 91蜜臀精品国产自偷在线 | 日韩欧美四区 | 疯狂少妇 | 青娱乐最新视频 | 日韩久久高清 | 男女污视频 | 久久久国产高清 | 蜜乳av一区二区三区 | 久久精品国产精品亚洲 | 日本免费网站在线观看 | 日本欧美国产一区二区三区 | 精品日韩久久 | 亚洲无吗在线观看 |