【问题标题】:Flask - function mapping is overwriting an existing endpoint functionFlask - 函数映射正在覆盖现有的端点函数
【发布时间】:2013-11-26 15:53:31
【问题描述】:

我正在尝试让烧瓶框架与 Facebook 一起使用。我正在用flask_canvas 做这个。我遵循了文档中 flask_canvas 的示例(在此处找到:http://flask-canvas.readthedocs.org/en/latest/),但我不断收到以下错误:

AssertionError: View function mapping is overwriting an existing endpoint function: inner

如果我注释掉方法user(),它会运行,但是当没有注释掉该方法时,我会得到上述错误。

知道如何制作它,这样我就可以同时拥有canvas()user() 方法而不会抛出AssertionError 吗?

import flask_canvas
from flask import Flask, session, redirect
app = Flask(__name__)
flask_canvas.install(app)

HOST = 'localhost'
PORT = 8000

@app.route('/')
def hello_world():
    return 'Hello World!'

# route your canvas-specific page
@app.canvas_route('/app/', methods=['GET','POST'])
def canvas():
    return 'hello, world'

 #route page requiring user data
@app.canvas_route('/user/', methods=['GET','POST'])
def user(canvas_user):
    return canvas_user.request('/me')

if __name__ == '__main__':
    app.run(host = HOST, port = PORT, debug = True)

【问题讨论】:

标签: python facebook flask


【解决方案1】:

我有一个类似的问题,使用没有@wraps 的装饰器重命名被装饰的函数。详情见此http://flask.pocoo.org/docs/patterns/viewdecorators/

【讨论】:

    【解决方案2】:

    我遇到了这个问题,我认为您的应用中可能有两个或多个内部函数。

    @app.route('/show1',methods=['GET','POST'])
    def show():
        return redirect(url)
    @app.route('/show2',methods=['GET','POST'])
    def show():
        return redirect(url)
    

    这会告诉你一个错误: AssertionError:视图函数映射正在覆盖现有端点函数:显示

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-08
      • 2015-05-03
      • 2013-06-19
      • 2020-10-19
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 2015-11-01
      相关资源
      最近更新 更多