flask webpython教程

# 图文混排

@app.route('/', methods=['GET', 'POST'])
def index():
d = {}
if request.method == 'POST':
content = request.form.get('content')
news = News()
news.title = '图文混排'
news.content = content
db.session.add(news)
db.session.commit()
d['content'] = content
return render_template('图文混排.html', data=d)


@app.route('/submit-image', methods=['GET', 'POST'])
def submit_image():
# 获取文件 get('file') 为固定写法
img = request.files.get('file')
image_name = photos.save(img) # 将头像保存到 程序目录下
image_url = '/static/upload/' + image_name # 生成图片保存到地址

mes = {}
mes['path'] = image_url # key为固定值,不可随意修改
mes['error'] = False # key为固定值,不可随意修改

return jsonify(mes)




@app.route('/')
def index():
# # 正则验证
# mail_ret = "[a-zA-Z0-9]{4,20}@163\.com"
# tel_ret = "1[3-9]\d{9}"
# ret = re.match(tel_ret, '13911111111')
# if ret:
# print(ret.group())
# else:
# print("匹配失败")

s = '1102211999010111'
# reg = "[a-zA-Z0-9]{4,20}@163\.com" # 验证邮箱
# reg = '1[3-9]\d{9}'
# 匹配18位的身份证号码
reg = '^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$'
ret = re.match(reg, s)
if ret:
print(ret.group())
else:
print("匹配失败")
return 'hello index'


# 验证码
@app.route('/getimage')
def get_image():
# name, text, StringIO.value
# text : 验证码图片对应到到文本
# image_url : 验证码图片IO流。理解为:二进制数据,并没有实际转换成图片呢
name, text, image_url = captcha.generate_captcha()
session['img_code'] = text
response = make_response(image_url) # 生成图片到响应
# 告诉浏览器,我要返回到是一张图片
response.headers['Content-Type'] = 'image/jpg'
return response


# 分页
@app.route('/fenye', methods=['GET', 'POST'])
def fenye():
page = request.args.get('page', 1, type=int)
perpage = 2
news_list = News.query.filter().paginate(page, perpage, False)
d = {}
d['news'] = news_list.items
d['current_page'] = news_list.page
d['total_page'] = news_list.pages
return render_template('/分页.html', data=d)


# 上传图片
@app.route('/upload', methods=['GET', 'POST'])
def upload():
if request.method == 'POST':
image = request.files.get('pic')
if image:
image_name = photos.save(image) # 将头像保存到 程序目录下
image_url = '/static/upload/' + image_name # 生成图片保存到地址
n = News()
n.title = '图片上传'
n.content = image_url
db.session.add(n)
db.session.commit()

return render_template('图片上传.html')


# 批量删除
@app.route('/deleteall', methods=['GET', 'POST'])
def delete_all():
if request.method == 'POST':
all_id = request.form.getlist('news')
for id in all_id:
n = News.query.get(id)
db.session.delete(n)
db.session.commit()
news_list = News.query.all()
d = {}
d['news_list'] = news_list
return render_template('delete_all.html', data=d)


# 注册
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
imgcode = request.form.get('imgcode')
if session.get('img_code').upper() == imgcode.upper():
print('验证码验证成功') # 具体的注册逻辑

return render_template('/register.html')

猜你喜欢

转载自www.cnblogs.com/lhrd/p/10764910.html
今日推荐