python - 在 Django modeladmin 底部添加 View

标签 python django django-admin markdown

我有一个用 Django 制作的博客,我在其中用 Markdown 写帖子。我想在管理页面底部为 Entry 类(我的博客文章类)的每个实例添加一个 View ,以便我可以在写作时预览 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,它允许向管理界面添加 View ,但不能为对象的每个实例添加 View 。

最佳答案

您可以使用 markdownx 来实现:

pip install django-markdownx

项目设置.py

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

项目 urls.py

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

然后收集静态文件。

python3 manage.py collectstatic

你的 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)

这应该有效。

关于python - 在 Django modeladmin 底部添加 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393775/

相关文章:

python - SMTP 错误 : "Recipient addressed refused" when trying to send an email using python and postfix

javascript - Django/jQuery 在管理中级联选择框

django 休息框架 : combine ValidationError from multiple validation

python - Django 数据库设置 'Improperly Configured' 错误

django - 有没有办法覆盖 ModelAdmin 中的 delete_selected 方法但保持确认?

带或的 Python Lambda

Python 3 : Multiprocessing API calls with exit condition

django - 使用反向反向 django admin 自定义 url

python - 将表单字段添加到 django 管理面板中的自定义用户模型

python - Django 表单 : setting initial value on DateField