Znaleźliśmy jedną lub dwie osoby w interwebs z podobnymi problemami, ale nigdzie nie widziałem rozwiązania. Otrzymuję błąd kompilacji z poniższego kodu/szablonu, ale nie mogę ustalić, gdzie jest problem i dlaczego się pojawia. Wygląda na to, że szablon nie rozpoznaje funkcji, ale nie wiadomo, dlaczego tak się stało. Jakakolwiek pomoc byłaby bardzo doceniona - od dwóch nocy biję mnie o klawiaturę.Błąd kompilacji ze zmiennymi i url_for w Flask
Funkcja:
@app.route('/viewproj/<proj>', methods=['GET','POST'])
def viewproj(proj):
...
Szablon Fragment:
{% for project in projects %}
<li>
<a href="{{ url_for('viewproj', proj=project.project_name) }}">
{{project.project_name}}</a></li>
{% else %}
No projects
{% endfor %}
dziennika błędu: https://gist.github.com/1684250
EDIT: Również chciałem to, że nie uznająca Zmienna "proj" podczas budowania adresu URL, więc i t po prostu dodaje wartość jako parametr. Oto przykład: // myproject/viewproj projname = co + w górę
ostatnich kilku linii:
[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/
jesteś, przypadkiem, wykorzystując plany? Czy są jakieś inne trasy zdefiniowane dla funkcji 'viewproj'? –
Nie. Nadal jestem dość wcześnie - są tylko 4 widoki z własną trasą. – Rob
Spróbuj usunąć elementy z projektu, krok po kroku, dopóki nie zmniejszysz problemu do minimalnego przypadku testowego. –