2016-08-31 87 views
0

我有(試過)在我的Django項目中設置了django-tinymce。但是,在檢查員中,我看不到tinymce.min.js被加載。Django-tinymce not loading javascript

這是我的設置:

STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
os.environ['DJANGO_LIVE_TEST_SERVER_ADDRESS'] = 'localhost:8123' 

# TinyMCE configuration 
TINYMCE_JS_ROOT = os.path.join(STATIC_ROOT, "articles/build/lib/node_modules/tinymce") 
TINYMCE_JS_URL = os.path.join(TINYMCE_JS_ROOT, "tinymce.min.js") 
TINYMCE_COMPRESSOR = False 
TINYMCE_DEFAULT_CONFIG = { 
    'theme': "modern", 
    'toolbar': "undo redo | bold italic | bullist numlist | blockquote | removeformat", 
    'menubar': False, 
    'statusbar': False, 
    'schema': "html5", 
    'max_height': 500, 
    'max_width': 500, 
    'min_height': 100, 
    'min_width': 400 
} 

卸下TINYMCE_DEFAULT_CONFIG和改變tinymce.min.jstinymce.js不會改變任何東西,還加載沒有TinyMCE的JS。

這是我的文件結構:

static 
    |-src 
    | |-styles 
    | |-scripts 
    | |-images 
    |-build 
    | |-css 
    | |-js 
    | |-img 
    | |-lib 
    | | |-package.json 
    | | |-node_modules 
    | | | |-tinymce 
    | | | | |-tinymce.js 
    | | | | |-more_tinymce_files_here 
    |-node_modules 
    |-gulpfile.js 
    |-package.json 

在我的模板我有{{ form.media }},但也許這就是問題所在。

The full code with templates, settings, urls, etc. is available here

如何確保tinymce JavaScript加載?或者:我該如何調試?

回答

0

事實證明,錯誤是在settings.py中。 tinymce的位置需要像這樣設置:

TINYMCE_JS_ROOT = "articles/build/lib/node_modules/tinymce" 
TINYMCE_JS_URL = os.path.join(TINYMCE_JS_ROOT, "tinymce.js") 
0

從Django的TinyMCE的文檔:

在包含TinyMCE的小工具,你必須添加以下到HTML HEAD部分自己的模板(假設你命名你的表格「形式」):

<head> 
... 
{{ form.media }} 
</head> 

嘗試{{ articleform.media }}

+0

可悲的是,這是行不通的。不過,{{form}}實際上是在我的模板中引用表單的正確方法。參見[this](https://gist.github.com/Flobin/38bbd5fde27904e1ef4d5798eda0ab07#file-article-submit-form-html-L19)。 – Flobin

0

是jQuery的可用?我添加了您的ArticleSubmitView到我的工作tinymce項目,沒有你的tinymce配置,並且我得到了一個錯誤,jQuery沒有定義。當我在base.html中的{% block extra_head_stuff %}標記之上爲jQuery添加腳本標記時,tinymce編輯器顯示出來。

注意,這是與下面的默認設置:

TINYMCE_SPELLCHECKER = False 
TINYMCE_COMPRESSOR = True 
TINYMCE_DEFAULT_CONFIG = { 
    'theme': "advanced", 
    'theme_advanced_buttons3_add': "|,spellchecker", 
} 

使用您的設置,我得到tinymce.min.js沒有找到(雖然這可能是一個錯誤,由於我沒有複製過你的靜態設置)。