1

ここの指示に従って、TinyMCE を django 管理者バックエンドにインストールします。

しかし、それは機能していません。コンソール ログを確認すると、次のように表示されました。

http://127.0.0.1:8000/media/js/tiny_mce/tiny_mce.js Failed to load 

js ファイルを手動で追加する必要がありますか? github の指示には、これについては言及されていません。

アップデート

実際に機能させるには、tiny_mce を静的フォルダーに移動する必要があります。これは、同様の問題を抱えている人のための私の解決策です。

settins.py
STATIC_URL = '/static/'
STATIC_ROOT = ''
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)
#this is for localhost development, if you are in production enviroment, you will need to remove the STATICFILES_DIRS and define your STATIC_ROOT
 TINYMCE_DEFAULT_CONFIG = {
 'plugins' : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,pagebreak",
'theme': "advanced",

'theme_advanced_buttons1' : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,fontselect,fontsizeselect,fullscreen,code,|,preview,image,media",
'theme_advanced_buttons2' : "table,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,|,forecolor,backcolor, emotions,|,pagebreak,paste",
'theme_advanced_buttons3 ': "",
'theme_advanced_toolbar_location' : "top",
'theme_advanced_toolbar_align' : "left",
'width': '700',
'height': '400'
}


admin.py
class AdminPost(admin.ModelAdmin):
    class Media:
                js = ('/static/js/tiny_mce/tiny_mce.js',)
4

3 に答える 3

1

ドキュメントでわかるように、Django TinyMCE にはデフォルト値としてメディア URL があります。

TINYMCE_JS_URL (default: settings.MEDIA_URL + 'js/tiny_mce/tiny_mce.js')
TINYMCE_JS_ROOT (default: settings.MEDIA_ROOT + 'js/tiny_mce')

静的フォルダー内の静的ファイルを使用する場合は、これらの値を正しいパスに設定する必要があります。私はお勧めします:

TINYMCE_JS_URL = settings.STATIC_URL + 'js/tiny_mce/tiny_mce.js'
TINYMCE_JS_ROOT = settings.STATIC_ROOT + 'js/tiny_mce'

開発環境でファイルをコピーする必要がなく、collectstatic で収集されるように、STATICFILES_FINDERS 設定で「django.contrib.staticfiles.finders.AppDirectoriesFinder」を使用していることを確認する必要があります。

于 2015-12-02T14:10:20.690 に答える