2017-09-24 16 views
1

私はmarkdownで投稿を書くDjangoで作られたブログを持っています。私は、私が書いている間、マークアップの様子をプレビューすることができるように、クラスEntry(私のブログ投稿クラス)の各インスタンスの管理ページの一番下にビューを追加したいと思います。新しい投稿を作成するときにスタックオーバーフローに関するプレビューを取得するのと同じように。Django modeladminの一番下にビューを追加します

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

、特定のhtmlファイル(blogpost.html)をロードするように、さらにModelAdminのを修正することができ、管理者の下でそれを示しています

は、私はすでにModelAdminのを拡張する管理クラスを持っていますページ?

私は私が意味する、まさに表示するために絵を作っ:

enter image description here

はNB:私は、1つの管理インターフェイスにビューを追加することができますDjangoの管理に加え、など様々なツールがある知っているが、オブジェクトの各インスタンスに対してではありません。

答えて

1

あなたはそのためmarkdownxを使用することができます。

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

のurls.py

pip install django-markdownx 

プロジェクトのsettings.py

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

プロジェクト、その後、を集めますファイル。

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

包括的な回答をいただきありがとうございます。私がやりたいことではない。 markdownxの出力からLaTeXコードを解釈するMathJaxがあるので、プレビューを作成するこの方法では、ユーザーに提示されたとおり正確に投稿が表示されません。管理ページの下部に実際のページのビューを追加することが可能かどうか知っていますか? –

+0

@Math_kv、それにCKEditorを使うことができます。それは 'mathjx'も解釈します。 –

関連する問題