У меня есть URL-адрес, например /posts/1
, где 1 обозначает идентификатор статьи в db.add slugified title to url
@bp.route('/<post_id>')
@login_required
def post(post_id):
""" find the post and then show it """
p = Post.query.get(post_id)
return render_template("post/single_post.html", post=p)
Однако то, что я хотел бы сделать, это иметь URL с какой-то slugified названия в нем, как /posts/1/my_stack_overflow_question_is_bad
. Я могу сделать свойство slugify в модели:
class Post(db.Model):
__tablename__ = 'posts'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String)
html = db.Column(db.String)
@property
def slugified_title():
return slugify(self.title, separator="_", to_lower=True)
но как бы я положил это в URL-адрес?
Отличный ответ, спасибо за то, что выбрали выше и выше – corvid