【Flask】报错解决方法:AssertionError: View f…
2019-04-20 08:52:28来源:博客园 阅读 ()
运行Flask时出现了一个错误, AssertionError: View function mapping is overwriting an existing endpoint function: main.user
直译就是视图方法中重写了一个存在的endpoint方法。那么问题来了,endpoint 是何方神圣?
查看了下源码,它的本质其实是请求url的一个规则,用来标记请求之后由哪个方法去具体执行。
@property def endpoint(self): """The endpoint that matched the request. This in combination with :attr:`view_args` can be used to reconstruct the same or a modified URL. If an exception happened when matching, this will be ``None``. """ if self.url_rule is not None: return self.url_rule.endpoint
Flask官方文档中的解释:
endpoint(endpoint) A decorator to register a function as an endpoint. Example: @app.endpoint('example.endpoint') def example(): return "example" Parameters: endpoint – the name of the endpoint
以及其他函数中的用法,例如:add_url_rule()
add_url_rule(rule, endpoint=None,...) Parameters: #... endpoint – the endpoint for the registered URL rule. Flask itself assumes the name of the view function as endpoint
敲黑板划重点,Flask的默认endpoint其实就是视图模块中的各个具体方法名。
弄明白了endpoint,重新review下代码,发现确实是定义了相同方法名。
#... @main.route('/user/<name>') def user(name): return render_template('user_simple.html',name=name) #... @main.route('/user/<username>') def user(username): user = User.query.filter_by(username=username).first_or_404() return render_template('user.html',user=user)
找到问题根因,解决方法就so easy了,重命名其中一个方法名即可,问题搞定??ヽ(°▽°)ノ?
参考文档:http://flask.pocoo.org/docs/1.0/api/
原文链接:https://www.cnblogs.com/lilip/p/10737597.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Flask request接口获取参数 2019-08-13
- linux安装 uwsgi 测试 test.py 不显示hello world 的解决办 2019-08-13
- 解决python中的Non-UTF-8 code starting with ‘\xbs4’ in 2019-07-24
- python中time.strftime不支持中文,报错UnicodeEncodeError: 2019-07-24
- Django源码安装xadmin报错Apps aren't loaded yet. 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash