**项目目录列表**
+ [微信交流](#微信交流)
+ [项目介绍](#项目介绍)
+ [配置文件](#配置文件)
+ [启动文件](#启动文件)
+ [首页](#首页)
+ [注册及登录](#注册及登录)
+ [注册](#注册)
+ [登录](#登录)
+ [个人页](#个人页)
+ [个人主页](#个人主页)
+ [个人信息修改](#个人信息修改)
+ [实名认证](#实名认证)
+ [我的房源-作为房东可发布](#我的房源-作为房东可发布)
+ [发布新房源-房源信息提交页](#发布新房源-房源信息提交页)
+ [搜索列表页](#搜索列表页)
+ [房屋详情页](#房屋详情页)
+ [房屋预定-订单创建页](#房屋预定-订单创建页)
+ [我的订单-基于客户](#我的订单-基于客户)
+ [客户订单-基于房东](#客户订单-基于房东)
+ [订单支付及评论](#订单支付及评论)
+ [其它说明](#其它说明)
----
# 项目介绍
该项目基于Vue作为前端, Flask作为服务端的前后端分离项目, 在项目中使用Mysql作为数据库, Redis作为缓存, 以及容联云作为第三方发送短信验证码(为避免阻塞, 其发送的任务由Celery异步执行), 其次还使用了七牛云作为图片文件的存储服务
在该项目中, 前端部分, 区域选项, 以及日期选项插件, 我基于Mui进行了二次封装, 其次, 还原生封装了一些项目中需要用到的方法, 如提取页面来源路径, 提取Cookie字段, 日期计算, Url查询参数提取等...
后端部分, 由于容联云官方提供的接口是Python2.7版本的源码, 而我项目使用的是Python3.6版本, 所以我对容联云的接口, 进行了改写, 并进一步进行了封装, 其次还有生成图片验证码的接口, 这里就不详细概述了...
整个项目所有的后端接口, 我使用Flask的蓝图, 将其划分为了四块, public(这是公共API, 主要实现验证码的方法), user(所有关于用户操作的行为API, 以及Model类都在这里实现的), house(所有对房屋的展示, 操作, 以及模型类都在这里实现) , order(关于订单的操作, 以及模型类, 其次这里还是先了支付宝的支付及交易查询接口)
前端所有带有包体的请求数据, 都规定以json格式进行发送, 后端所有的API同样以json格式返回数据(其中包含响应码, 响应信息, 以及响应数据)
**项目结构:**
> @在/directory.txt文件中
**项目依赖:**
> @在/py-dependent.txt中已经写入
您可以使用该命令安装所有依赖: `pip3 install -r py-dependent.txt`
**项目启动方式:**
进入项目根目录执行: `python3 manage.py runserver`
进入项目根目录执行启动Celery任务: `celery -A tasks.task_sms worker -l info`
**如果要正常运行该项目, 您必须要修这些配置:**
1. 在/config.py中, 修改以下必须的配置项
``` python
# 配置Mysql数据库, 'mysql://用户名:密码@地址:端口/数据库名'
SQLALCHEMY_DATABASE_URI = 'mysql://root:xxxxxxxx@127.0.0.1:3306/ihome_demo'
# redis配置
REDIS_HOST = '127.0.0.1' # redis地址
REDIS_PORT = 6379 # reids端口
REDIS_DB = 6 # redis数据库编号
# 七牛云存储相关配置,空间域名
QINIU_ZONE_HOST = 'http://image.weidong168.com' # 改为您自己的空间域名
```
2. 在/utls/image_storage.py中修改您的七牛云(Access Key, Secret Key 和 对象存储空间名
``` python
# 需要填写你的 Access Key 和 Secret Key
access_key = '填写你的Access Key'
secret_key = '填写你的Secret Key'
# 构建鉴权对象
q = Auth(access_key, secret_key)
# 要上传的空间
bucket_name = '填写你的对象存储空间名'
```
3. 在/libs/YunTongXun/SendTemplateSMS.py中修改以下参数
``` python
accountSid = '开发者主账号ACCOUNT SID'
# 说明:主账号Token,登陆云通讯网站后,可在控制台首页中看到开发者主账号AUTH TOKEN
accountToken = '开发者主账号AUTH TOKEN'
# 请使用管理控制台中已创建应用的APPID, 注意: 测试环境只能使用未上线的应用
appId = '应用的APPID'
```
----
# 配置文件
``` python
### config.py
from datetime import timedelta
import redis
class Config():
""" 配置信息的基类 """
# 设置session的秘钥, 同是crsf验证也依赖于它
SECRET_KEY = '$&_p%ise9)wf=$mehhy8fw167!#+d4vcv^^r^kijm)+(yw3gq2'
# 配置Mysql数据库, 'mysql://用户名:密码@地址:端口/数据库名'
SQLALCHEMY_DATABASE_URI = 'mysql://root:xxxxxxx@127.0.0.1:3306/ihome_demo'
# 设置模型类与数据表同步跟踪
SQLALCHEMY_TRACK_MODIFICATIONS = True
# 查询时会显示原始SQL语句
# SQLALCHEMY_ECHO = True
# redis配置
REDIS_HOST = '127.0.0.1' # redis地址
REDIS_PORT = 6379 # reids端口
REDIS_DB = 6 # redis数据库编号
# Flask-Session配置
# 指定要使用的会话接口的类型, 可以是redis, mongodb, sqlalchemy等...
SESSION_TYPE = 'redis'
# 注意它必须是一个Redis连接的实例,默认连接到127.0.0.1:6379
SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT, db=REDIS_DB)
# 是否对session_id进行混淆, 如果为True, 则必须配置SECRET_KEY秘钥(依赖于它)
SESSION_USE_SIGNER = True
# 设置session的过期时间, 它可以设置detetime对象的时间, 或表示秒数的整数, 例如: 3600, 默认永久有效
PERMANENT_SESSION_LIFETIME = timedelta(hours=1)
# 设置图片验证码的过期时间/秒
IMAGE_CODE_REDIS_EXPIRE = 100
# 设置短信验证码的过期时间/秒, 注意: 只能设置60的倍数
SMS_CODE_REDIS_EXPIRE = 120
# 用户发送短信验证码的间隔时间/秒, 防止在短时间内重复发送短信
SEND_SMS_CODE_INTERVAL = 60
# 用户最大的登录错误次数限制
LOGIN_ERROR_MAX_NUMS = 5
# 七牛云存储相关配置,空间域名
QINIU_ZONE_HOST = 'http://image.weidong168.com'
# 设置获取房源信息的redis缓存时间, 单位/秒
AREA_INFO_REDIS_CACHE_EXPIRES = 3600 * 2
# 设置首页幻灯片, 热门房源, 以及房屋详情信息的redis缓存时间, 单位/秒
HOME_PAGE_DATA_REDIS_EXPIRES = 3600 * 3
# 设置搜索列表的缓存过期时间/秒
HOUSE_SEARCH_LIST_EXPIRES = 3600 * 1.5
# 获取房屋详情的评论数量
HOUSE_DETAIL_COMMENT_DISPLAY_COUNTS = 10
# 设置房屋列表, 每页展示的房屋查询数量
HOUSE_LIST_PER_PAGE = 10
# 支付宝网关, 这里是用户需要跳转支付的链接前缀(注意: 这里设置的是沙箱环境)
ALIPAY_URL = 'https://openapi.alipaydev.com/gateway.do'
class DevelopmentConfig(Config):
""" 用于开发模式的配置信息 """
# 开启调试模式
DEBUG = True
class ProductionConfig(Config):
""" 用于生产模式的配置信息 """
pass
# 提供给app对象的配置映射
config_map = {
'develop': DevelopmentConfig,
'product': ProductionConfig,
}
```
----
# 启动文件
**app对象的抽离, 定义在主模块的初始化文件中:**
``` python
### /ihome/__init__.py
from config import config_map # 导入配置映射对象
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_session import Session
from flask_wtf import CSRFProtect
import redis
import logging
from logging.handlers import RotatingFileHandler
# 创建SQLAlchemy数据库工具对象
db = SQLAlchemy()
# 定义一个空的redis连接对象, 它最终会在create_app方法中重新被定义, 因为此时无法获取app对象
redis_conn = None
# 为flask增加csrf防护
csrf = CSRFProtect()
# 设置日志的记录等级, 以logging对象的方式设置
logging.basicConfig(level=logging.DEBUG)
# 设置�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该项目基于Vue作为前端, Flask作为服务端的前后端分离项目, 在项目中使用Mysql作为数据库, Redis作为缓存, 以及容联云作为第三方发送短信验证码(为避免阻塞, 其发送的任务由Celery异步执行), 其次还使用了七牛云作为图片文件的存储服务 在该项目中, 前端部分, 区域选项, 以及日期选项插件, 我基于Mui进行了二次封装, 其次, 还原生封装了一些项目中需要用到的方法, 如提取页面来源路径, 提取Cookie字段, 日期计算, Url查询参数提取等... 后端部分, 由于容联云官方提供的接口是Python2.7版本的源码, 而我项目使用的是Python3.6版本, 所以我对容联云的接口, 进行了改写, 并进一步进行了封装, 其次还有生成图片验证码的接口, 这里就不详细概述了... 整个项目所有的后端接口, 我使用Flask的蓝图, 将其划分为了四块, public(这是公共API, 主要实现验证码的方法), user(所有关于用户操作的行为API, 以及Model类都在这里实现的), house(所有对房屋的展示, 操作, 以及模型类都在这里实现) , ord
资源推荐
资源详情
资源评论
收起资源包目录
python web全栈开发最佳实践,flask+vue+redis+mysql构建前后端分离的房屋信息发布、租赁系统,功能齐全 (321个子文件)
bootstrap.css 143KB
bootstrap.min.css 118KB
mui.min.css 74KB
font-awesome.css 34KB
font-awesome.min.css 28KB
bootstrap-theme.css 26KB
bootstrap-datepicker3.standalone.css 23KB
bootstrap-theme.min.css 23KB
bootstrap-datepicker3.css 22KB
bootstrap-datepicker3.standalone.min.css 21KB
bootstrap-datepicker3.min.css 21KB
swiper.css 20KB
bootstrap-datepicker.standalone.css 18KB
bootstrap-datepicker.css 17KB
swiper.min.css 17KB
bootstrap-datepicker.standalone.min.css 16KB
bootstrap-datepicker.min.css 15KB
simple-line-icons.css 11KB
uniform.default.css 11KB
simple-line-icons.min.css 9KB
uniform.default.min.css 8KB
bootstrap-switch.css 7KB
bootstrap-switch.min.css 6KB
detail.css 5KB
mui.picker.min.css 5KB
search.css 3KB
profile.css 2KB
newhouse.css 2KB
index.css 2KB
booking.css 2KB
orders.css 2KB
myhouse.css 2KB
my.css 2KB
register.css 1KB
mui.poppicker.css 1KB
login.css 966B
reset.css 484B
app.css 462B
main.css 224B
.DS_Store 6KB
fontawesome-webfont.eot 75KB
Simple-Line-Icons.eot 35KB
glyphicons-halflings-regular.eot 20KB
newhouse.html 16KB
lorders.html 6KB
detail.html 6KB
orders.html 5KB
search.html 5KB
index.html 4KB
register.html 4KB
profile.html 3KB
auth.html 3KB
myhouse.html 3KB
my.html 3KB
booking.html 3KB
login.html 2KB
payComplete.html 2KB
favicon.ico 3KB
alembic.ini 770B
home01.jpg 418KB
home02.jpg 407KB
home03.jpg 303KB
landlord01.jpg 5KB
vue.js 332KB
city.data-3.js 181KB
swiper.jquery.js 160KB
mui.min.js 121KB
jquery.min.js 94KB
vue.min.js 91KB
bootstrap.js 68KB
swiper.jquery.min.js 67KB
bootstrap-datepicker.js 55KB
bootstrap.min.js 36KB
bootstrap-datepicker.min.js 32KB
jquery.uniform.js 26KB
bootstrap-switch.js 25KB
city.data.js 24KB
mui.picker.min.js 18KB
jquery.form.min.js 15KB
vue-resource.min.js 15KB
bootstrap-switch.min.js 15KB
search.js 12KB
jquery.blockui.min.js 9KB
jquery.uniform.min.js 8KB
register.js 8KB
index.js 7KB
newhouse.js 7KB
booking.js 7KB
icons-lte-ie7.js 6KB
profile.js 5KB
template.js 5KB
detail.js 5KB
orders.js 5KB
lorders.js 4KB
auth.js 3KB
login.js 2KB
myhouse.js 2KB
my.js 1KB
bootstrap-datepicker.ka.min.js 967B
bootstrap-datepicker.km.min.js 945B
共 321 条
- 1
- 2
- 3
- 4
资源评论
白话机器学习
- 粉丝: 8259
- 资源: 7686
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功