在Django modeladmin的底部添加视图

时间:2017-09-24 19:02:17

标签: python django django-admin markdown

我有一个用Django制作的博客,我在markdown写帖子。我想在管理页面底部为类Entry(我的博客文章类)的每个实例添加一个视图,这样我就可以预览markdown的样子,而我正在写作。正如您在创建新帖子时在Stack Overflow上进行预览一样。

我已经有一个扩展ModelAdmin的管理类:

class EntryAdmin(admin.ModelAdmin):
   list_display = ('title','created')
   prepopulated_fields = {'slug': ('title',)}

是否可以进一步修改ModelAdmin,以便加载某个html文件(blogpost.html)并将其显示在管理页面的底部?

我拍了一张照片来说明我的意思:

enter image description here

注意:我知道有各种工具,例如Django admin plus,它允许一个人向管理界面添加视图,但不能为对象的每个实例添加视图。

1 个答案:

答案 0 :(得分:1)

您可以使用markdownx

pip install django-markdownx

项目settings.py

INSTALLED_APPS = 
    #. . . .
    'markdownx',
]

项目urls.py

urlpatterns = [
    #[...]
    url(r'^markdownx/', include('markdownx.urls')),
]

然后收集static个文件。

python3 manage.py collectstatic

your models.py

from markdownx.models import MarkdownxField

class MyModel(models.Model):
    myfield = MarkdownxField()

您的应用admin.py

from django.contrib import admin
from markdownx.admin import MarkdownxModelAdmin
from .models import MyModel


admin.site.register(MyModel, MarkdownxModelAdmin)

这应该有用。