django ImportError:没有名为 tiny-mce 的模块

django ImportError: No module named tiny-mce

本文关键字:tiny-mce 模块 ImportError django      更新时间:2023-09-26

我正在运行django 1.7.2和python 2.7。

我有一个测试表单,我想将 django-tinymce 添加到我的文本区域。

我已经按照这里的教程安装了django-tinymce。

但是,当我尝试运行服务器时,我的本地开发服务器上出现以下错误:

ImportError: No module named tiny-mce

以下是我安装 django-tinymce 的步骤:

  1. 已将应用程序安装到我的项目的虚拟环境中。

    pip install django-tinymce
    
  2. 我通过运行 pip freeze (django-tinymce==2.2.0) 确认了上述安装。

  3. 然后我'tinymce',添加到我的INSTALLED_APPS

  4. 然后我(r'^tinymce/', include('tinymce.urls')),添加到我的网址中。

  5. 然后,我将 tinymce js 文件添加到我的插件中,并在我的 base.html 文件中引用了该文件:

    <script src="{{ STATIC_URL }}plugins/tinymce/tinymce.min.js"></script>

我已将以下代码添加到我的 settings.py 文件中:

TINYMCE_JS_URL = os.path.join(STATIC_URL, 'plugins/tinymce/tinymce.min.js')
TINYMCE_DEFAULT_CONFIG = {
    'plugins' :'table, spellchecker, paste, searchreplace',
    'theme' : "advanced",
    'cleanup_on_startup ':True ,
    'custom_undo_redo_levels':10 ,
}
TINYMCE_SPELLCHECKER = True
TINYMCE_COMPRESSOR = True

我已经仔细检查了我是否已正确将 django-tinymce 安装到正确的虚拟环境中。

我已经搜索了Google和SO,但是当我尝试运行本地开发服务器时,我对如何解决我遇到的错误感到困惑:

导入错误:没有名为 tiny-mce 的模块

编辑

这是表单代码:

from tinymce.widgets import TinyMCE
....
class SummaryDetailsForm(forms.ModelForm):
    required_css_class = 'required'
    def __init__(self, available_languages, language_preference, *args, **kwargs):
        """
        available_languages should be a valid choices list
        """
        super(SummaryDetailsForm, self).__init__(*args, **kwargs)
        self.fields['language_code'] = forms.ChoiceField(choices=available_languages, initial=language_preference, label=_('Language'),)
        summary_details = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))
    class Meta:
        model = SummaryDetails

以下是完整的回溯:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:'Users'6233114'desktop'zoodal'env'lib'site-packages'django'core'manage
ment'__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "C:'Users'6233114'desktop'zoodal'env'lib'site-packages'django'core'manage
ment'__init__.py", line 354, in execute
    django.setup()
  File "C:'Users'6233114'desktop'zoodal'env'lib'site-packages'django'__init__.py
", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:'Users'6233114'desktop'zoodal'env'lib'site-packages'django'apps'regist
ry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "C:'Users'6233114'desktop'zoodal'env'lib'site-packages'django'apps'config
.py", line 87, in create
    module = import_module(entry)
  File "c:'python27'Lib'importlib'__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named tiny-mce

看起来您在INSTALLED_APPS中添加了'tiny-mce'而不是'tinymce'