我正在尝试在 Flask 应用程序中为删除方法设置链接。但是,当我尝试导航到它所在的页面时,出现以下错误:
werkzeug.routing.BuildError
BuildError: ('delete', {}, None)
我现在尝试使用的delete()
方法只是一个模拟方法,但我什至无法加载页面来开始测试它。这是我尝试过的代码:
模板:
{% block main_content %}
<table cellspacing="0" id="grid_view">
<tbody>
<tr>
<th>Shelf Name</th>
<th>Bins on Shelf</th>
<th></th>
</tr>
{% for shelf in shelf_list %}
<tr>
<td>{{ shelf.name }}</td>
<td>List of bins will be here with CRUD links</td>
<td><a href="{{ url_for('delete') }}">Delete</a></td> # problem here
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
和方法:
@app.route('/delete')
def delete():
return 'Something was deleted'
完整的堆栈跟踪:
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "main.py", line 53, in shelves
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/templating.py", line 128, in render_template
context, ctx.app)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/templating.py", line 110, in _render
rv = template.render(context)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/jinja2/environment.py", line 969, in render
return self.environment.handle_exception(exc_info, True)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/jinja2/environment.py", line 742, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/ian/PycharmProjects/flasktest/templates/shelves.html", line 1, in top-level template code
{% extends 'layout.html' %}
File "/home/ian/PycharmProjects/flasktest/templates/layout.html", line 35, in top-level template code
{% block main_content %}
File "/home/ian/PycharmProjects/flasktest/templates/shelves.html", line 30, in block "main_content"
<td><a href="{{ url_for('delete') }}">Delete</a></td>
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/helpers.py", line 312, in url_for
return appctx.app.handle_url_build_error(error, endpoint, values)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/app.py", line 1641, in handle_url_build_error
reraise(exc_type, exc_value, tb)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/flask/helpers.py", line 305, in url_for
force_external=external)
File "/home/ian/PycharmProjects/flasktest/lib/python2.7/site-packages/werkzeug/routing.py", line 1620, in build
[Display the sourcecode for this frame] [Open an interactive python shell in this frame] raise BuildError(endpoint, values, method)