• 大小: 574KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: 其他
  • 标签: flask  

资源简介

使用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.xml
     目录           0  2019-03-22 14:08  Myweb\.idea\libraries\
     文件         128  2019-03-22 14:08  Myweb\.idea\libraries\R_User_Library.xml
     文件         305  2019-03-22 14:11  Myweb\.idea\misc.xml
     文件         269  2019-03-22 12:02  Myweb\.idea\modules.xml
     文件       16594  2019-03-29 15:50  Myweb\.idea\workspace.xml
     文件        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个文件信息

评论

共有 条评论