2

大家好,我正在尝试将 tinymce 集成到 django 管理页面中。我已经安装了 django-tinymce 模块 (http://code.google.com/p/django-tinymce/) 我按照说明进行操作,所以这些是我的文件:

设置.py

INSTALLED_APPS = (
    ...
    'tinymce',
)


TINYMCE_DEFAULT_CONFIG = {
    'plugins': "table,paste,searchreplace",
    'theme': "advanced",
}
TINYMCE_SPELLCHECKER = False
TINYMCE_COMPRESSOR = False

网址.py

urlpatterns = patterns('',
    # Example:
    # (r'^uboPy/', include('uboPy.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
        (r'^admin/', include(admin.site.urls)),
        (r'^tinymce/', include('tinymce.urls')),
)

我在根目录中的一个文件夹中有tinymce的js,media/js 在模型中我有这一行: text = tinymce_models.HTMLField()

当我运行服务器时,我没有收到错误,但是当我进入模型的管理区域时,未加载 tinymce。使用 firebug,我看到 tinymce 库出现 404 错误,但路径是正确的。我的 url.py 有问题吗?

谢谢您的帮助

4

2 回答 2

1

我发现 django-tinymce 文档已经过时,即部分错误。

我发现不同版本的 tinymce 和 django-tinymce 包不兼容。

我解决了它,将一些变量添加到我的 project/settings.py 并更改 tinymce 目录和文件名。

django-tinymce urls.py 中有一些硬编码路径,假设目录被命名为“tiny_mce”,而实际上它们被命名为“tinymce”,因此我不得不重命名它们,或者更改 django-tinymce urls.py。

# project setting.py
STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATIC_JS_DIR = os.path.join(STATIC_DIR, "js")
TINYMCE_JS_ROOT = os.path.join(STATIC_JS_DIR, "tiny_mce")
TINYMCE_JS_URL = os.path.join(TINYMCE_JS_ROOT, "tiny_mce.js")
#TINYMCE_JS_ROOT = os.path.join(STATIC_JS_DIR, "tiny_mce")
#TINYMCE_JS_URL = os.path.join(TINYMCE_JS_ROOT, "tiny_mce.js")
于 2014-02-26T20:52:00.440 回答
1

您是否只是在项目根目录中放置一个名为 的文件夹media/js?它实际上需要以某种方式从某处的 url 提供。

JavaScript 文件是通过您的浏览器加载的,因此它需要可以访问所有其他媒体所在的 Internet。这部分与 django 无关,因此您不应期待错误或 URL 问题。

解决该部分后,通过TINYMCE_JS_URL设置参数指定可以访问文件的 URL。

例如,在我的设置中,js 是..

TINYMCE_JS_URL = '/media/js/tiny_mce/tiny_mce.js'

使用 firebug,我看到 tinymce 库给出 404 错误,但路径是正确的..

你是说你可以访问这个 URL 路径并加载 JS 文件吗?我要说的是:如果是 404,路径如何正确?

于 2011-02-20T19:21:27.883 回答