我有一个用 Django 制作的博客,我在其中用 Markdown 写帖子。我想在管理页面底部为 Entry 类(我的博客文章类)的每个实例添加一个 View ,以便我可以在写作时预览 Markdown 的外观。正如您在创建新帖子时可以在 Stack Overflow 上预览一样。
我已经有一个扩展 ModelAdmin 的管理类:
class EntryAdmin(admin.ModelAdmin):
list_display = ('title','created')
prepopulated_fields = {'slug': ('title',)}
是否可以进一步修改 ModelAdmin,以便加载某个 html 文件 (blogpost.html) 并将其显示在管理页面的底部?
我制作了一张图片来准确表达我的意思:
注意:我知道有各种工具,例如 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/