1. 租房项目分为几个模块,分别是什么?
主要分为了四个模块
登录注册模块:生成图片验证码 发送短信验证码 注册用户 登录用户
个人中心:展示个人信息 修改个人名称 身份证校验 上传用户头像
房屋展示:添加房源 展示房源 上传房屋图片 展示地区信息
订单管理:提交订单 展示订单信息 发布评论
2. 简述当前项目的需求?
用户可以登陆注册,可以查看房源或者发布房源,可以进行支付
3. 请写出使用SQLALCHEMY连接数据库的URI字符串?
SQLALCHEMY_DATABASE_URI=“mysql://root:123456@127.0.0.1:3306/ihome_hsj_01”
4. 请写出使用python代码生成6位短信验证码的核心代码?
import my_module
my_object = my_module.Produce
打印6位(数字+大小写字母)验证码
print('6位数字和字母验证码:{}' .format(my_object.auth_code()))
打印6位(数字)验证码
print('6位数字验证码:{num}'.format(num=my_object.auth_code('num')))
打印6位(大小写字母)验证码
print(f'6位字母验证码:{my_object.auth_code(option="letter", num=6)}')
随机产生(数字、字母)模块
class Produce:
# 定义一个空列表,是随机数来源的容器
__rand_num = list()
# 定义一个空集合,用于存储已经产生的验证码,(也可以用空列表)
__abandon = set()
# 验证码容器
@classmethod
def __vessel(cls, option='num or letter'):
# 清空列表,(随机数来源的容器)
cls.__rand_num = list()
if option == 'num':
# 把数字存入列表
for i in range(10):
cls.__rand_num.append(str(i))
elif option == 'letter':
# 把大小写字母存入列表
for i in range(26):
cls.__rand_num.append(chr(i + 65)) # 大写字母
cls.__rand_num.append(chr(i + 97)) # 小写字母
elif option == 'num or letter':
# 把数字存入列表
for i in range(10):
cls.__rand_num.append(str(i))
# 把大小写字母存入列表
for i in range(26):
cls.__rand_num.append(chr(i + 65)) # 大写字母
cls.__rand_num.append(chr(i + 97)) # 小写字母
else:
print('参数option传递错误!!!')
print("option='num' or 'letter'")
import sys
sys.exit()
# 随机生成6位验证码
@classmethod
def auth_code(cls, option='num or letter', num=6):
buf = '' # 定义一个空的字符串,用于存储6位验证码
cls.__vessel(option=option) # 验证码容器
from random import choice # 导入随机模块
for i in range(num):
buf += choice