На просторах интернета нашел одного-двух человек с похожими проблемами, но решения нигде не видел. Я получаю сообщение об ошибке сборки из приведенного ниже кода/шаблона, но не могу понять, в чем проблема и почему она возникает. Похоже, что шаблон не распознает функцию, но не знаю, почему это происходит. Любая помощь будет принята с благодарностью - уже две ночи бьюсь о клавиатуру.
Функция:
@app.route('/viewproj/<proj>', methods=['GET','POST'])
def viewproj(proj):
...
Выдержка из шаблона:
{% for project in projects %}
<li>
<a href="{{ url_for('viewproj', proj=project.project_name) }}">
{{project.project_name}}</a></li>
{% else %}
No projects
{% endfor %}
Журнал ошибок: https://gist.github.com/1684250
РЕДАКТИРОВАТЬ: Также хотел указать, что он не распознает переменную «proj» при построении URL-адреса, поэтому просто добавляет значение в качестве параметра. Вот пример: //myproject/viewproj?projname=what+up
Последние несколько строк:
[Wed Jan 25 09:47:34 2012] [error] [client 199.58.143.128] File "/srv/www/myproject.com/myproject/templates/layout.html", line 103, in top-level template code, referer: xx://myproject.com/
[Wed Jan 25 09:47:34 2012] [error] [client 199.58.143.128] {% block body %}{% endblock %}, referer: xx://myproject.com/
[Wed Jan 25 09:47:34 2012] [error] [client 199.58.143.128] File "/srv/www/myproject.com/myproject/templates/main.html", line 34, in block "body", referer: xx://myproject.com/
[Wed Jan 25 09:47:34 2012] [error] [client 199.58.143.128] <a href="{{ url_for('viewproj', proj=project.project_name) }}">, referer: xx://myproject.com/
[Wed Jan 25 09:47:34 2012] [error] [client 199.58.143.128] File "/usr/lib/python2.7/dist-packages/flask/helpers.py", line 195, in url_for, referer: xx://myproject.com/
[Wed Jan 25 09:47:34 2012] [error] [client 199.58.143.128] return ctx.url_adapter.build(endpoint, values, force_external=external), referer: xx://myproject.com/
[Wed Jan 25 09:47:34 2012] [error] [client 199.58.143.128] File "/usr/lib/pymodules/python2.7/werkzeug/routing.py", line 1409, in build, referer: xx://myproject.com/
[Wed Jan 25 09:47:34 2012] [error] [client 199.58.143.128] raise BuildError(endpoint, values, method), referer: xx://myproject.com/
[Wed Jan 25 09:47:34 2012] [error] [client 199.58.143.128] BuildError: ('viewproj', {'proj': '12th'}, None), referer: xx://myproject.com/
viewproj
? - person Alex Morega   schedule 26.01.2012viewproj
более одного раза? Дублирующиеся имена функций, которые оба маршрутизируются, могут вызвать проблемы такого рода. - person ThiefMaster   schedule 01.06.2012