例子地址:http://docs.jinkan.org/docs/flask/views.html
笔者根据文档的写了一个测试例子,在浏览器访问http://127.0.0.1:5000/user/报错: if self.url_rule and '.' in self.url_rule.endpoint.
测试例子代码如下:
from flask import Flask from flask import render_template from flask.views import View app = Flask(__name__) class ShowUsers(View): def dispatch_request(self): return render_template('test.html') app.add_url_rule('/user/', ShowUsers.as_view('show_users')) if __name__ == '__main__': app.run()
解决方法:
根据报错信息,查看app.add_url_rule相关文档,参数endpoint一般和视图函数名称相同,代码修改为如下:
from flask import Flask from flask import render_template from flask.views import View app = Flask(__name__) class ShowUsers(View): def dispatch_request(self): return render_template('test.html') app.add_url_rule('/user/', 'show_users', ShowUsers.as_view('show_users')) if __name__ == '__main__': app.run()
在浏览器访问http://127.0.0.1:5000/user/正常。