一直在为用户管理系统使用Flask-user,但我看不到自定义登录页面和注册页面的方法。我使用pip
安装了flask-userpip install flask-user
任何帮助将不胜感激
答案 0 :(得分:3)
在templates
文件夹中,创建一个名为flask_user
的新文件夹,您可以将login.html
使用的register.html
和flask-user
个网页复制到新创建的文件夹中。然后您可以根据您的要求修改它们。这些文件将覆盖flask-user
使用的页面。
答案 1 :(得分:0)
您可以在https://github.com/lingthio/Flask-User-starter-app
获取样板(应用示例)以下是一些在线资源,可以真正帮助您自定义用户登录以及其他主题:
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-v-user-logins
本教程使用openid,但用代码示例解释了所有内容,即
应用程序/ 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 :(得分:0)
默认的烧瓶用户BasicApp具有基于电子邮件的授权。
更改型号
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 email authentication
USER_ENABLE_USERNAME = True # Disable username authentication
按用户名插入默认的两个用户。用以下代码替换现有代码。
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()