2017-09-24 79 views
1

我有一個使用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),並將其顯示在管理員的底部頁?

我做了一個圖片顯示的正是我的意思是:

enter image description here

注:我知道有各種工具,如Django管理加,允許一個人的意見添加到管理界面,但不是針對對象的每個實例。

回答

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 

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

這應該工作。

+0

非常感謝您的全面回答。這不完全是我想要做的。正如我有MathJax從markdownx的輸出中解釋LaTeX代碼一樣,這種預覽方式並不會完全呈現給用戶。你知道是否可以在管理頁面的底部追加實際頁面的視圖嗎? –

+0

@Math_kv,你可以使用CKEditor。這也將解釋'mathjx'。 –