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.mzph.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;而且应该不会再去…