【问题标题】:How to generate slug according to title of post in django?如何根据 django 中的帖子标题生成 slug?
【发布时间】:2021-01-30 03:17:18
【问题描述】:

好吧,我不想在我的 url 中使用帖子的 id,所以我想根据帖子标题生成 slug,这可以是相同的。所以我不明白我该怎么做你们能告诉我可以做到吗,我的模型帖子如下所示。 模型.py

class Post(models.Model):

    
    username = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
    description = models.CharField(('Description'),max_length=250)
    title = models.CharField(('Content Title'), max_length=250)
    create_date = models.DateTimeField(default = timezone.now)
    image_data = models.ImageField(upload_to='User_Posts', height_field=None, width_field=None, max_length=None)
    slug = (title)

    def __str__(self):
        return self.title

【问题讨论】:

    标签: python django django-models django-rest-framework django-views


    【解决方案1】:

    我建议查看 slugify 的 Django 文档。您需要覆盖模型的保存方法来执行此操作,因此您的新代码很可能看起来像这样:

    from django.utils.text import slugify
    slug=models.SlugField()
    
    def save(self,*args,**kwargs):
        self.slug=slugify(self.title)
        super(Post,self).save(*args,**kwargs)
    

    我会记住你可以在你的 slugfield 中设置为 true 或 false 的唯一参数。

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 2011-09-19
      • 2016-10-24
      • 2017-07-06
      • 2021-01-23
      • 1970-01-01
      • 2012-08-02
      • 2017-06-01
      • 2012-10-18
      相关资源
      最近更新 更多