Kolben + Wsgi + Docker - Keine Benutzer-loader installiert wurde

In einem Versuch zum ausführen eines Kolben-Projekt, das verwendet beide wsgi, nginx in docker-Konfiguration, ich bin mit dem folgenden Fehler:

Keine user_loader installiert wurde, wurde für diese LoginManager. Finden https://flask-login.readthedocs.io/en/latest/#how-it-works für mehr info. Wenn jedoch kein login betrachtet, das system funktioniert gut.

Wie könnte ich dieses Problem lösen?

Ein paar mehr Infos:

Mein system-Dateien sind wie folgt:

__init__.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
from flask_bcrypt import Bcrypt
from flask_login import LoginManager


app = Flask(__name__)
app.config.from_object('instance.config')
db = SQLAlchemy(app)
migrate = Migrate(app, db)
flask_bcrypt = Bcrypt(app)


manager = Manager(app)

Code zur Steuerung der Benutzer-session:

from instance.config import SECRET_KEY_LOGIN
login_manager = LoginManager(app)
---------------------------------------------------------------------------
login.py

from flask import render_template, request, Blueprint, url_for, redirect
from flask_login import login_user, logout_user, current_user
from app import flask_bcrypt, login_manager
from app.models.login import LoginForm
from app.models.tabelas import Usuario

sign_in = Blueprint('sign_in', __name__)

@login_manager.user_loader
def load_user(id_usuario):
  return Usuario.query.filter_by(id_usuario=id_usuario).first()

@login_manager.request_loader
def request_loader(_request):
#   print ('using request loader')
#   return "load_user_token(_request)"


@sign_in.route('/', methods=['GET', 'POST'])
@sign_in.route('/login', methods=['GET','POST'])
def login():
  if current_user.is_authenticated:
    return redirect(url_for('home'))
  else:
    error = None
    form = LoginForm()

    if request.method == 'POST':
      if form.validate_on_submit():
        usuario = Usuario.query.filter_by(ds_email = form.ds_email.data).first()
        if usuario and flask_bcrypt.check_password_hash(usuario.ds_password, form.ds_password.data):
          login_user(usuario)
          return redirect(url_for('home'))
        else:
          error = 'Invalid Login .'
      else:
        error = 'Error'
        print(form.errors)


    return render_template('admin/login.html', form=form, error=error)
+1
2019-09-17 16:03:43
Quelle
1 Antworten

Sie brauchen nicht zum hinzufügen von NuGet Feed-Anmeldeinformationen erstellen, wenn Sie eine Veröffentlichung von Paketen auf dem gleichen TeamCity-server als agent ist derzeit verbunden ist. Es sollte funktionieren , ohne dass es (seit TeamCity version 9.1.4).

Wenn ich Sie richtig verstanden, Sie wollen, um zu überprüfen Paket-version in der gleichen TeamCity internen NuGet feed? Warum nutzen Sie nicht bauen Auslöser dafür? Wenn ein anderer build (veröffentlicht, ein Paket zu feed) abgeschlossen ist, Ihr zu bauen beginnen.

Und wenn Sie wollen, um zu überprüfen, Pakete auf nuget.org Sie haben falsch konfiguriert auslösen.

Über die Authentifizierung in der NuGet-trigger, es war keine gemeldeten problem in dieser Funktion für eine lange Zeit. Ich schlage vor, Sie erstellen ein Fehler in TeamCity YouTrack und einige details bereitstellen, die es können (z.B. logs vom server).

+1
2019-09-17 20:35:00

Sehen Sie sich andere Fragen zu Tags an