models.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:websauna.blog 作者: websauna 项目源码 文件源码
def ensure_slug(self, dbsession) -> str:
        """Make sure post has a slug.

        Generate a slug based on the title, but only if blog post doesn't have one.

        :return: Generated slug as a string
        """

        assert self.title

        if self.slug:
            return

        for attempt in range(1, 100):

            generated_slug = slugify(self.title)
            if attempt >= 2:
                generated_slug += "-" + str(attempt)

            # Check for existing hit
            if not dbsession.query(Post).filter_by(slug=generated_slug).one_or_none():
                self.slug = generated_slug
                return self.slug

        raise RuntimeError("Could not generate slug for {}".format(self.title))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号