2017-05-24 2 views
0

Ich versuche, die Flasche Mega-Tutorial zu folgen, sondern auch mein Verständnis und Verwendung von Kolben-oauth anstelle von openID oder rauth, die er verwendet seine Tutorials.Flask - Facebook OAuth - request.args 'Funktion' Objekt hat kein Attribut 'args'

Ich versuche, den Facebook oauth Schritt zu schreiben, aber ich laufe immer in einen Fehler mit der Anfrage. Ich bin ziemlich neu, also könnte es offensichtlich sein, aber ich habe seit einer Stunde gegoogelt und ich kann die Antwort nicht finden!

Hier ist die Ansicht:

@app.route('/authorize/<provider>') 
def oauth_authorize(provider): 
    if not g.user.is_anonymous: 
     return redirect(url_for('index')) 
    if provider == 'facebook': 
     return facebook_auth.authorize(callback=url_for('facebook_authorized', 
      next=request.args.get('next') or request.referrer or None, 
      _external=True)) 

Und ich erhalte die Störung Attribute: ‚Funktion‘ Objekt hat kein Attribut ‚args‘ auf die Linie bezieht ab dem nächsten = request.args.get .. usw.

Bitte helfen Sie, es nervt mich wirklich!

Zusätzliche Informationen, hier sind meine Importe:

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 
from .models import User 
from .oauth import * 
+0

st übereifrigen Import kann dich beißen. Ich benutze keine Flasche, aber Sie können 'Importflasche' versuchen, dann 'flask.request'. Wenn ich richtig verstehe, was du machst, musstest du irgendwann 'Anfrage' definieren, oder? – patrick

Antwort

0

Sieht aus wie eine Funktion der Kolben request beschattet. Sie haben entweder eine request Funktion im gleichen Modul oder es wird importiert mit:

from .oauth import * 

Dies ist einer der Gründe, warum Wildcard Einfuhren eine schlechte Praxis betrachtet werden.

Verwandte Themen