首页 文章

如何在Django Admin Page中编辑请求的参数?

提问于
浏览
0

默认情况下,Django管理页面,基本上将提交的数据集自然地设置到数据库而无需任何数据编辑但是我想编辑它 .

当我开发博客以使用Django管理员时,我在这样的表中有列

| Headers | article_md | article_html

我想让article_html数据不是直接在django管理页面表单中编辑,而是从article_md的markdown样式数据生成html样式数据并提交到数据库 .

我怎样才能做到这一点?有没有办法在model.py或admin.py中执行通常的控制器?

class Article(models.Model):
    def __str__(self):
        return str(self.title)

    title = models.CharField(max_length=255)
    article_md = models.TextField(null=True)
    article_html = models.TextField(null=True)←I want it is generated by converting article_md's data

1 回答

  • 0

    model.py

    class Article(models.Model):
        def __str__(self):
            return str(self.title)
    
        title = models.CharField(
            max_length=255
        )
        article_md = models.TextField(
            null=True
        )
        article_html = models.TextField(
            null=True
        )
    
        def save(self, *args, **kwargs):
            self.article_html = markdown.markdown(self.article_md, extensions=['gfm'])
            super(Article, self).save(*args, **kwargs)
    

    admin.py

    class ArticleAdmin(admin.ModelAdmin):
        exclude = ['article_html']
    admin.site.register(Article, ArticleAdmin)
    

相关问题