资源简介
使用flask-login实现用户的管理,并加入验证码验证
代码片段和文件信息
# -*- coding: utf-8 -*-
from flask import Flask render_template flash redirect url_for request send_from_directory session
from flask import make_response
from flask_wtf.csrf import validate_csrf
from wtforms import Validationerror
from validate_Code import validate_picture
from forms import LoginFormRegisterForm
from io import BytesIO
from flask_sqlalchemy import SQLAlchemy
import hashlib
app = Flask(__name__)
app.config.from_object(‘config‘)
db=SQLAlchemy(app)
from models import UserSend_Book
app.secret_key = ‘hahaasdflaskasa‘
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
@app.route(‘/register‘ methods=[‘GET‘ ‘POST‘])
def register():
form = RegisterForm()
if form.validate_on_submit():
if app.config[‘INVITE_REGISTER‘]:
if db.query.filter(and_(User.username=NoneUser.invite_code==form.invite_code.data)):
user2=db.query.filter(User.invite_code=form.invite_code.data).first()
user2.username=form.username.data
user2.password=hashlib.md5(form.password.data).hexdigest()
user2.email=form.email.data
db.session.commit()
else:
flash(‘注册失败,请重新注册!‘)
return redirect(url_for(‘register‘))
user1=User(username=form.username.datapassword=form.password.dataemail=form.email.data)
db.session.add(user1)
db.session.commit()
flash(‘注册成功,请登录!‘)
return redirect(url_for(‘.login‘))
return render_template(‘register.html‘ form=form)
@app.route(‘/login‘ methods=[‘GET‘ ‘POST‘])
def login():
form = LoginForm()
if form.validate_on_submit():
username = form.username.data
password=
flash(‘Welcome %s!‘ % username)
return ‘haha‘
return render_template(‘login.html‘ form=form)
@app.route(‘/code‘)
def get_code():
image str = validate_picture()
# 将验证码图片以二进制形式写入在内存中,防止将图片都放在文件夹中,占用大量磁盘
buf = BytesIO()
image.save(buf ‘jpeg‘)
buf_str = buf.getvalue()
# 把二进制作为response发回前端,并设置首部字段
response = make_response(buf_str)
response.headers[‘Content-Type‘] = ‘image/gif‘
# 将验证码字符串储存在session中
session[‘image‘] = str
return response
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-22 17:49 Myweb\
文件 21 2019-03-17 09:52 Myweb\.flaskenv
目录 0 2019-03-29 15:50 Myweb\.idea\
文件 936 2019-03-22 14:11 Myweb\.idea\Myweb.iml
文件 138 2019-03-22 12:02 Myweb\.idea\encodings.xm
目录 0 2019-03-22 14:08 Myweb\.idea\libraries\
文件 128 2019-03-22 14:08 Myweb\.idea\libraries\R_User_Library.xm
文件 305 2019-03-22 14:11 Myweb\.idea\misc.xm
文件 269 2019-03-22 12:02 Myweb\.idea\modules.xm
文件 16594 2019-03-29 15:50 Myweb\.idea\workspace.xm
文件 2411 2019-03-22 17:49 Myweb\app.py
文件 153 2019-03-22 16:49 Myweb\config.py
文件 1071 2019-03-22 16:14 Myweb\forms.py
文件 569 2019-03-22 16:39 Myweb\functions.py
文件 1219 2019-03-22 15:55 Myweb\models.py
目录 0 2019-03-22 13:53 Myweb\static\
目录 0 2019-03-22 13:53 Myweb\static\css\
文件 43852 2019-03-17 09:52 Myweb\static\css\bootstrap-grid.css
文件 95910 2019-03-17 09:52 Myweb\static\css\bootstrap-grid.css.map
文件 34243 2019-03-17 09:52 Myweb\static\css\bootstrap-grid.min.css
文件 76209 2019-03-17 09:52 Myweb\static\css\bootstrap-grid.min.css.map
文件 4798 2019-03-17 09:52 Myweb\static\css\bootstrap-reboot.css
文件 57721 2019-03-17 09:52 Myweb\static\css\bootstrap-reboot.css.map
文件 3936 2019-03-17 09:52 Myweb\static\css\bootstrap-reboot.min.css
文件 25881 2019-03-17 09:52 Myweb\static\css\bootstrap-reboot.min.css.map
文件 178152 2019-03-17 09:52 Myweb\static\css\bootstrap.css
文件 411645 2019-03-17 09:52 Myweb\static\css\bootstrap.css.map
文件 144877 2019-03-17 09:52 Myweb\static\css\bootstrap.min.css
文件 551641 2019-03-17 09:52 Myweb\static\css\bootstrap.min.css.map
文件 5558 2019-03-17 09:52 Myweb\static\favicon.ico
目录 0 2019-03-22 13:53 Myweb\static\js\
............此处省略14个文件信息
评论
共有 条评论