题目:好家园房产中介网后台管理
一、语言和环境
1.实现语言:python语言。
2.环境要求:pycharm + mysql。
在Bootstrap这里下载js和css
在echarts在柱状图
二、实现功能
使用flask技术开发“好家园房产中介网”的后台管理功能,具体实现功能如下:
1.首页index.html显示现有的所有房产信息,如图1所示。
图1显示所有房产信息
2.点击页面中的“发布住房信息”超链接,跳转到发布房产页面addHouse.html,初始的页面效果如 下图2所示。该页面首次加载时要从数据库中读取所有的房型信息,并显示在下拉列表框中。
图2 添加房产信息
2.点击图2中 “提交”按钮后,即可实现将用户输入的有效房产信息添加到对应的数据表中。并提示操作成功
3.点击页面中的“汇总住房信息”超链接,即可实现用echarts图表展示不同房型的数据。页面效果如下图3所示
图3 汇总房产信息
注意:
1)页面效果要求用模板继承实现
2)表格要求用bootstrap美化
3)图表展示要求用echarts
三、数据库设计
1.创建数据库(HouseDB)。
2.创建房型表(HouseTypes),结构如下:
字段名 说明 字段类型 长度 备注
创建房产信息表(Houses),结构如下:
四、步骤得分
步骤 分值
步骤1:正确创建数据库 10分
CREATE TABLE `housetypes` (
`housetypeid` int NOT NULL AUTO_INCREMENT,
`housetypename` varchar(20) NOT NULL,
PRIMARY KEY (`housetypeid`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3;
CREATE TABLE `houses` (
`houseid` int NOT NULL AUTO_INCREMENT,
`housetypeid` int NOT NULL,
`area` int NOT NULL,
`price` float NOT NULL,
`address` varchar(50) NOT NULL,
`housedesc` varchar(100) DEFAULT NULL,
PRIMARY KEY (`houseid`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb3;
步骤2:正确搭建了项目框架 10分
步骤3:正确创建了3个页面 15分,每个页面5分
app.py
from flask import Flask,render_template,request
app=Flask(__name__)
from DBHelper import DBHelper
global rows
@app.route("/")
def index():
#查询所有的房屋信息
global rows
db=DBHelper()
sql="select * from housetypes a,houses b where a.housetypeid=b.housetypeid "
db.cursor.execute(sql)
rows=db.cursor.fetchall()
return render_template("index.html",rows=rows)
@app.route("/addHouse",methods=["GET","POST"])
def addHouse():
global rows
if request.method=="GET":
db = DBHelper()
sql = "select * from housetypes"
db.cursor.execute(sql)
rowTypes= db.cursor.fetchall()
return render_template("addhouse.html",rowTypes=rowTypes)
else: #获取表单提交的值
housetypeid=request.form.get("selType") #获取类型id
area=request.form.get("txtArea")
price = request.form.get("txtPrice")
address = request.form.get("txtAddress")
desc= request.form.get("txtDesc")
sql="insert into houses values(null,%s,%s,%s,'%s','%s')"%(housetypeid,area,price,address,desc)
print(sql)
db=DBHelper()
db.cursor.execute(sql)
db.con.commit