フラスコセキュリティでフラスコへのログインを有効にしようとしています。次のコードは正常に動作します (私は にインポートし__init__.py
ます)
from flask import Blueprint, render_template, request, redirect, url_for
from coursly import app
from coursly.models import *
from flask.ext.security import Security, LoginForm, SQLAlchemyUserDatastore
user_datastore = SQLAlchemyUserDatastore(db, user.User, user.Role)
Security(app, user_datastore)
user = Blueprint('user', __name__)
@user.route('/')
def index():
return redirect(url_for("user.login"))
@user.route('/login', methods=['GET', 'POST'])
def login():
return render_template('user/login.html', content='Login Page', action=url_for('auth.authenticate'), form=LoginForm())
ただし、変更user = Blueprint('user', __name__)
すると、.user = Blueprint('user', __name__, url_prefix='/blah')
で失敗しますwerkzeug.routing.BuildError BuildError: ('auth.authenticate', {}, None)
。url_for が問題ですが、理由がわかりません。はる!