Как редактировать запрошенные параметры на странице администратора Django? - PullRequest
0 голосов
/ 14 сентября 2018

По умолчанию, страница администратора Django обычно формирует отправленные данные в базу данных, естественно, без каких-либо изменений данных.
Однако я хочу изменить это.

Когда я разрабатываю блог для использования администратора Django, у меня естьстолбцы в таблице, такие как

| title | article_md | article_html

, и я хочу сделать данные article_html не для редактирования непосредственно в форме страницы администратора django, а для создания данных в стиле html из данных стиля уценки article_md и отправки вбаза данных.

Как я могу это сделать?Есть ли способ сделать что-то вроде контроллера вообще в 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 голосов
/ 15 сентября 2018

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)
...