簡體   English   中英

django-tinymce編輯器中的彈出窗口顯示404錯誤

[英]Pop-ups in django-tinymce editor showing 404 error

怎么了:

我已經安裝了django-tinymce,可以在我網站的admin部分中使用文本字段。 該編輯器運行良好,盡管效果不理想,因為每當我嘗試插入圖像,鏈接,符號等時(即,每當出現彈出窗口時),編輯器都會打開404 Not found窗口,而不是實際的窗口小部件形式。

我試過的

我嘗試添加

document.domain = 'my_site.com';

tiny_mce_popup.js 沒有改變。

有趣的是,應該在彈出窗口中打開的* .htm文件存儲在目錄{{MEDIA_URL}} js / tiny_mce / themes / advanced /中(如前所述,服務器無法打開他們)。 但是,如果我嘗試在瀏覽器中打開同一目錄中的其他文件(例如{{MEDIA_URL}} js / tiny_mce / themes / advanced / editor_template.js或{{MEDIA_URL}} js / tiny_mce / themes / advanced / img / flash .gif),一切正常-文件顯示無任何錯誤。

另外,在本地服務器上,一切都可以正常工作-僅在部署后才遇到問題。

可能有助於識別問題的代碼:

項目的urls.py

urlpatterns = patterns('',
    #...
    url(r'^tinymce/', include('tinymce.urls')),
    #...
)

TinyMCE的urls.py

from django.conf.urls.defaults import *

urlpatterns = patterns('tinymce.views',
    url(r'^js/textareas/(?P<name>.+)/$', 'textareas_js', name='tinymce-js'),
    url(r'^js/textareas/(?P<name>.+)/(?P<lang>.*)$', 'textareas_js', name='tinymce-js-lang'),
    url(r'^spellchecker/$', 'spell_check'),
    url(r'^flatpages_link_list/$', 'flatpages_link_list'),
    url(r'^compressor/$', 'compressor', name='tinymce-compressor'),
    url(r'^filebrowser/$', 'filebrowser', name='tinymce-filebrowser'),
    url(r'^preview/(?P<name>.+)/$', 'preview', name='tinymce-preview'),
)

TinyMCE的settings.py

import os
from django.conf import settings

DEFAULT_CONFIG = getattr(settings, 'TINYMCE_DEFAULT_CONFIG',
        {'theme': "advanced", 'relative_urls': False})

USE_SPELLCHECKER = getattr(settings, 'TINYMCE_SPELLCHECKER', False)

USE_COMPRESSOR = getattr(settings, 'TINYMCE_COMPRESSOR', False)

USE_FILEBROWSER = getattr(settings, 'TINYMCE_FILEBROWSER',
        'filebrowser' in settings.INSTALLED_APPS)

JS_URL = getattr(settings, 'TINYMCE_JS_URL',
        '%sjs/tiny_mce/tiny_mce.js' % settings.MEDIA_URL)

JS_ROOT = getattr(settings, 'TINYMCE_JS_ROOT',
        os.path.join(settings.MEDIA_ROOT, 'js/tiny_mce'))


JS_BASE_URL = JS_URL[:JS_URL.rfind('/')]

那么,如何使django-tinymce的彈出窗口起作用? 在此先感謝您的幫助!

編輯:找到解決方案。 原來我的托管服務提供商未在允許的靜態文件擴展名列表中包含htm(l) 現在一切正常。

它可以在開發服務器下運行,但不能運行,這一事實使我認為您尚未在apache conf中正確設置媒體根目錄。 開發服務器會自動為您的媒體和靜態文件提供服務,但是對於您的實時部署,您需要使用相關路徑添加媒體和靜態別名。

vhost.conf:

<VirtualHost *:80>
    # Your setup for your main site url, then add the below to allow access
    # to the media and static roots

    Alias /media/ "/path/to/myproject/media/"
    <Directory "/path/to/myproject/media/">
        Order deny,allow
        Allow from all
    </Directory>

    Alias /static/ "/path/to/myproject/static/"
    <Directory "/path/to/myproject/static/">
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM