@hardwellZero

Как сгенерерировать ссылку на пост?

Здравствуйте.
Как можно сгенерировать ссылку для каждого поста в блоге?
example.com/posts/*
Где * от 1 и до кол-ва постов.
Нашел вот такой метод:
@app.route('/post/<post.id>')
Но не понял, как его прикрутить. Консоль ругается.
  • Вопрос задан
  • 2453 просмотра
Решения вопроса 1
@pcdesign
Насколько я понимаю - это из-за точки в post.id.
Назовите post_id, например.
@app.route('/post/<post_id>')

А еще лучше вот так:
@app.route('/post/<int:post_id>')
Гарантированно пройдут только целые числа.

Вот здесь подробнее:
flask.pocoo.org/docs/0.10/quickstart/#variable-rules
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
MAKAPOH
@MAKAPOH
многостаночник
Для генерации ссылок во flask есть функция url_for, её можно использовать как в коде так и в шаблонах.

Для такого маршрута:
@app.route('/post/<int:post_id>')
def show_post(post_id):
    return 'Post %d' % post_id

Ссылку можно получить так:
url_for(show_post, post_id=2)

Для того что бы это сделать для каждого поста, читаем их все из БД пробегаем в цикле и подставляем id в функцию.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы