烧瓶异常"View function mapping is overwriting an existing endpoint function"



我正在阅读这本名为《Flask web development》的书。

当我创建他创建的登录系统时,我可以在注册我所做的蓝图时创建一个例外。

日志:

    C:Python27python.exe "C:/Users/Bo/Google Drev/Privat/HobbyProjekter/Event/manage.py"
Traceback (most recent call last):
  File "C:/Users/Bo/Google Drev/Privat/HobbyProjekter/Event/manage.py", line 7, in <module>
    app = create_app(os.getenv('FLASK_CONFIG') or 'default')
  File "C:UsersBoGoogle DrevPrivatHobbyProjekterEventapp__init__.py", line 42, in create_app
    app.register_blueprint(auth_blueprint, url_prefix='/auth')
  File "C:Python27libsite-packagesflaskapp.py", line 62, in wrapper_func
    return f(self, *args, **kwargs)
  File "C:Python27libsite-packagesflaskapp.py", line 889, in register_blueprint
    blueprint.register(self, options, first_registration)
  File "C:Python27libsite-packagesflaskblueprints.py", line 153, in register
    deferred(state)
  File "C:Python27libsite-packagesflaskblueprints.py", line 172, in <lambda>
    s.add_url_rule(rule, endpoint, view_func, **options))
  File "C:Python27libsite-packagesflaskblueprints.py", line 76, in add_url_rule
    view_func, defaults=defaults, **options)
  File "C:Python27libsite-packagesflaskapp.py", line 62, in wrapper_func
    return f(self, *args, **kwargs)
  File "C:Python27libsite-packagesflaskapp.py", line 984, in add_url_rule
    'existing endpoint function: %s' % endpoint)
AssertionError: View function mapping is overwriting an existing endpoint function: auth.login

我注册蓝图的代码是这样的:

from .auth import auth as auth_blueprint
app.register_blueprint(auth_blueprint, url_prefix='/auth')

代码是从我的auth__init__.py:

导入的
from flask import Blueprint
auth = Blueprint('auth', __name__)
from . import views
from flask import render_template
from . import auth
@auth.route('/login')
def login():
    return render_template('auth/login.html')

最后我的视图,我试图注册(只是一个片段):

@auth.route('/login', methods=['GET', 'POST'])
def login():

希望你能帮上忙

您有两个端点称为'/login'。改变其中一个的名字。函数名也不能相同

最新更新