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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Django Admin Page中编辑请求的参数?相关的知识,希望对你有一定的参考价值。

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

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

|标题| 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
答案

model.朋友

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.朋友

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

以上是关于如何在Django Admin Page中编辑请求的参数?的主要内容,如果未能解决你的问题,请参考以下文章

Django-admin:如何在记录更改列表中显示指向对象信息页面的链接而不是编辑表单?

如何在 django 1.9 中删除 django-admin 中的保存并继续编辑按钮,使其不存在?

Django admin - 如何在用户编辑中隐藏一些字段?

如何使通过多对多关系连接的模型在 Django admin 中同时在两个地方可编辑?

Django admin,如何在 django 模板中正确检查用户的权限?

如何使用列表中显示的相关项目的下拉列表使特定模型类的 Django contrib Admin 更改列表可编辑?