在user和book定义同一个url和方法名一样的时候程序会报错。

来源:2-6 实现Redprint

nicaia

2018-07-04

from app.libs.redprint import Redprint
api = Redprint('user')

@api.route('/get')
def get_user():
return "get user"

@api.route('/search')
def search():
return 'search user'
from app.libs.redprint import Redprint
api = Redprint('book')
@api.route('/get')
def get_book():
return "get book"

@api.route('/search')
def search():
return 'search book'


报错信息如下:

Traceback (most recent call last):
  File "ginger.py", line 3, in <module>
    app = create_app()
  File "/home/wjl/Desktop/code/ginger/app/app.py", line 11, in create_app
    register_blueprints(app)
  File "/home/wjl/Desktop/code/ginger/app/app.py", line 5, in register_blueprints
    app.register_blueprint(create_blueprint_v1(),url_prefix='/v1')
  File "/home/wjl/.local/share/virtualenvs/ginger-M_pvVW6g/lib/python3.6/site-packages/flask/app.py", line 64, in wrapper_func
    return f(self, *args, **kwargs)
  File "/home/wjl/.local/share/virtualenvs/ginger-M_pvVW6g/lib/python3.6/site-packages/flask/app.py", line 1113, in register_blueprint
    blueprint.register(self, options, first_registration)
  File "/home/wjl/.local/share/virtualenvs/ginger-M_pvVW6g/lib/python3.6/site-packages/flask/blueprints.py", line 186, in register
    deferred(state)
  File "/home/wjl/.local/share/virtualenvs/ginger-M_pvVW6g/lib/python3.6/site-packages/flask/blueprints.py", line 207, in <lambda>
    s.add_url_rule(rule, endpoint, view_func, **options))
  File "/home/wjl/.local/share/virtualenvs/ginger-M_pvVW6g/lib/python3.6/site-packages/flask/blueprints.py", line 79, in add_url_rule
    view_func, defaults=defaults, **options)
  File "/home/wjl/.local/share/virtualenvs/ginger-M_pvVW6g/lib/python3.6/site-packages/flask/app.py", line 64, in wrapper_func
    return f(self, *args, **kwargs)
  File "/home/wjl/.local/share/virtualenvs/ginger-M_pvVW6g/lib/python3.6/site-packages/flask/app.py", line 1219, in add_url_rule
    'existing endpoint function: %s' % endpoint)
AssertionError: View function mapping is overwriting an existing endpoint function: v1.search


写回答

1回答

7七月

2018-07-05

后面有讲解,和解决这个问题

0
0

Python Flask高级编程之RESTFul API前后端分离精讲

RESTFul+权限管理+token令牌+扩展flask=提升编程思维

2037 学习 · 359 问题

查看课程