Ответ 1
Мне кажется, что вы задаете здесь два вопроса, но я сделаю снимок...
Для URL-адреса проводки вы сделаете следующее:
<a href="{{ url_for('post_blueprint.get_post', year=year, month=month, title=title)}}">
{{ title }}
</a>
Чтобы обрабатывать статические файлы, я бы предложил использовать диспетчер активов, например Flask-Assets, но сделать это с помощью фляжки для ванили:
{{ url_for('static', filename='[filenameofstaticfile]') }}
Если вам нужна дополнительная информация, я настоятельно рекомендую вам прочитать. http://flask.pocoo.org/docs/quickstart/#static-files и http://flask.pocoo.org/docs/quickstart/#url-building
Изменить для использования kwargs:
Просто подумал, что я буду более основательным...
Если вы хотите использовать url_for
следующим образом:
{{ url_for('post_blueprint.get_post', **post) }}
Вы должны изменить свой вид на что-то вроде этого:
@post_blueprint.route('/posts/')
def get_all_posts():
models = database_call_of_some_kind # This is assuming you use some kind of model
posts = []
for model in models:
posts.append(dict(year=model.year, month=model.month, title=model.title))
return render_template('p.html', posts=posts)
Тогда ваш код шаблона может выглядеть так:
{% for post in posts %}
<a href="{{ url_for('post_blueprint.get_post', **post) }}">
{{ post['title'] }}
</a>
{% endfor %}
В этот момент я бы на самом деле создал метод на модели, поэтому вам не нужно превращать его в dict, но далеко не все: -).