Flask [烧瓶]-自定义烧瓶用户登录

Flask [烧瓶]-自定义烧瓶用户登录,flask,flask-login,Flask,Flask Login,我一直在为用户管理系统开发Flask user,但我看不到定制登录页面和注册页面的方法。我使用pip安装了flask用户 pip install flask-user 任何帮助都将不胜感激在模板文件夹中,创建一个名为flask\u user的新文件夹,您可以将login.html和register.htmlflask user使用的页面复制到新创建的文件夹中。然后,您可以根据需要修改它们。这些文件将覆盖用户使用的页面 来自正式用户文档 您可以在以下位置获得样板文件(应用程序示例) 其他学习资源

我一直在为用户管理系统开发Flask user,但我看不到定制登录页面和注册页面的方法。我使用pip安装了flask用户

pip install flask-user

任何帮助都将不胜感激

模板
文件夹中,创建一个名为
flask\u user
的新文件夹,您可以将
login.html
register.html
flask user使用的页面复制到新创建的文件夹中。然后,您可以根据需要修改它们。这些文件将覆盖用户使用的页面

来自正式用户文档 您可以在以下位置获得样板文件(应用程序示例)

其他学习资源 1.烧瓶超级教程 以下是一些在线资源,可以真正帮助您自定义用户登录和其他主题:

本教程使用openid,但用代码示例解释了所有内容,例如

app/views.py

from flask import render_template, flash, redirect, session, url_for, request, g
from flask_login import login_user, logout_user, current_user, login_required
from app import app, db, lm, oid
from .forms import LoginForm
from .models import User

@app.route('/login', methods=['GET', 'POST'])
@oid.loginhandler
def login():
    if g.user is not None and g.user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        session['remember_me'] = form.remember_me.data
        return oid.try_login(form.openid.data, ask_for=['nickname', 'email'])
    return render_template('login.html', 
                           title='Sign In',
                           form=form,
                           providers=app.config['OPENID_PROVIDERS'])
2.Exploreflask.com 完成免费一步一步指南。在“用户”一章中还有一个完整的章节介绍您的问题。

默认用户具有基于电子邮件的授权

  • 我们可以改为基于用户的授权
  • 改变模式

    class User(db.Model, UserMixin):
       __tablename__ = 'users'
       id = db.Column(db.Integer, primary_key=True)
       active = db.Column('is_active', db.Boolean(), nullable=False, server_default='1')
       username = db.Column(db.String(100, collation='NOCASE'), nullable=False, unique=True)
       password = db.Column(db.String(255), nullable=False, server_default='')        
       first_name = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='')
       last_name = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='')
       # Define the relationship to Role via UserRoles
       roles = db.relationship('Role', secondary='user_roles')
    
  • 在配置中更改以下行:

    USER_ENABLE_EMAIL=False#启用电子邮件身份验证
    用户_ENABLE_USERNAME=True#禁用用户名身份验证

按用户名插入默认的两个用户。用以下代码替换现有代码

    if not User.query.filter(User.username == 'member').first():
    user = User(
        username='member',
        password=user_manager.hash_password('Password1'),
    )
    db.session.add(user)
    db.session.commit()

# Create 'admin@example.com' user with 'Admin' and 'Agent' roles
if not User.query.filter(User.username == 'admin').first():
    user = User(
        username='admin',
        password=user_manager.hash_password('Password1'),
    )
    user.roles.append(Role(name='Admin'))
    user.roles.append(Role(name='Agent'))
    db.session.add(user)
    db.session.commit()