我正在努力让烧瓶框架与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)
答案 0 :(得分:10)
我有一个类似的问题,使用没有@wraps的装饰器重命名正在装饰的功能。有关详细信息,请参阅此http://flask.pocoo.org/docs/patterns/viewdecorators/
答案 1 :(得分:1)
我遇到了这个问题,我认为您的应用中可能有两个或更多内部功能。
@app.route('/show1',methods=['GET','POST'])
def show():
return redirect(url)
@app.route('/show2',methods=['GET','POST'])
def show():
return redirect(url)
这会告诉你一个错误: AssertionError:视图函数映射正在覆盖现有的端点函数:show