Python 如何用烧瓶蓝图实现烧瓶舞

Python 如何用烧瓶蓝图实现烧瓶舞,python,flask,flask-dance,Python,Flask,Flask Dance,我尝试将Flask Dance与普通的Flask应用程序一起使用,但效果很好,如果我尝试使用Flask蓝图来实现,则效果不佳。如何根据烧瓶蓝图注册烧瓶舞蹈 用于auth blueprint的My views.py from flask import render_template, url_for, redirect, current_app, request from app.auth import auth from flask_dance.contrib import github @a

我尝试将Flask Dance与普通的Flask应用程序一起使用,但效果很好,如果我尝试使用Flask蓝图来实现,则效果不佳。如何根据烧瓶蓝图注册烧瓶舞蹈

用于auth blueprint的My views.py

from flask import render_template, url_for, redirect, current_app, request
from app.auth import auth
from flask_dance.contrib import github

@auth.route('/login')
def login():
return render_template('auth/login.html')

@auth.route("/")
def github():
    if not github.authorized:
        return redirect(url_for("github.login"))
    resp = github.get("/user")
    assert resp.ok
    return "You are @{login} on GitHub".format(login=resp.json()["login"])
from flask import Blueprint
from flask_dance.contrib.github import make_github_blueprint, github

auth = Blueprint('auth', __name__, url_prefix='/auth')

blueprint = make_github_blueprint(client_id="m-client-id",client_secret="my-client-secret")

auth.register_blueprint(blueprint, url_prefix="/auth")



from app.auth import views
我的init.py用于验证蓝图

from flask import render_template, url_for, redirect, current_app, request
from app.auth import auth
from flask_dance.contrib import github

@auth.route('/login')
def login():
return render_template('auth/login.html')

@auth.route("/")
def github():
    if not github.authorized:
        return redirect(url_for("github.login"))
    resp = github.get("/user")
    assert resp.ok
    return "You are @{login} on GitHub".format(login=resp.json()["login"])
from flask import Blueprint
from flask_dance.contrib.github import make_github_blueprint, github

auth = Blueprint('auth', __name__, url_prefix='/auth')

blueprint = make_github_blueprint(client_id="m-client-id",client_secret="my-client-secret")

auth.register_blueprint(blueprint, url_prefix="/auth")



from app.auth import views
和我的主init.py文件:

from flask import Flask
from flask_fontawesome import FontAwesome

from app.config import Config

fa = FontAwesome()

def create_app(config_class=Config):
    app = Flask(__name__)
    app.config.from_object(Config)
    fa.init_app(app)
    
    from app.public import public
    app.register_blueprint(public)
    
    from app.auth import auth
    app.register_blueprint(auth)
    
    return app

首先,您应该为github创建并注册不同的蓝图

github/init.py

from flask_dance.contrib import github
from flask_dance.contrib.github import make_github_blueprint

github_blueprint = make_github_blueprint(client_id='your-client-id',client_secret='your-client-secret')



from app.github import views
github/views.py

@github_blueprint.route("/")
def github_login():
     if not github.authorized:
          return redirect(url_for('github.login'))
     account_info = github.get('/user')
     if account_info.ok:
          account = account_info.json()
          return '<h1>Your Github name is {}'.format(account['login'])