在Django的底部添加视图modeladmin
问题描述:
我有一个使用Django制作的博客,我在markdown中撰写帖子。我想在管理页面的底部为Entry Entry(我的博客帖子类)的每个实例添加一个视图,以便我可以在编写时预览Markdown的外观。正如您在创建新帖子时在Stack Overflow中预览一样。在Django的底部添加视图modeladmin
我已经有一个管理类扩展的ModelAdmin:
class EntryAdmin(admin.ModelAdmin):
list_display = ('title','created')
prepopulated_fields = {'slug': ('title',)}
是否有可能进一步修改的ModelAdmin,使得它加载某些HTML文件(blogpost.html),并将其显示在管理员的底部页?
我做了一个图片显示的正是我的意思是:
注:我知道有各种工具,如Django管理加,允许一个人的意见添加到管理界面,但不是针对对象的每个实例。
答
您可以使用markdownx
为:
pip install django-markdownx
项目settings.py
INSTALLED_APPS =
#. . . .
'markdownx',
]
项目urls.py
urlpatterns = [
#[...]
url(r'^markdownx/', include('markdownx.urls')),
]
,然后收集static
文件。
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)
这应该工作。
非常感谢您的全面回答。这不完全是我想要做的。正如我有MathJax从markdownx的输出中解释LaTeX代码一样,这种预览方式并不会完全呈现给用户。你知道是否可以在管理页面的底部追加实际页面的视图吗? –
@Math_kv,你可以使用CKEditor。这也将解释'mathjx'。 –