Ошибка плагина Django-dash memo и news

#python #django #plugins

#python #django #Плагины

Вопрос:

Я пытаюсь настроить демо-версию django-dash через:https://github.com/barseghyanartur/django-dash.

Я вручную установил все зависимости для django-dash (из-за проблем с рабочим компьютером / прокси) и предположительно также успешно установил django-dash. Следуя руководству, я добавил несколько макетов и плагинов в настройки INSTALLED_APPS для своего приложения. При добавлении всех плагинов, кроме тех, что отмечены звездочками — memo и news, проблем не возникает.

 INSTALLED_APPS = (
    # ...
    'dash',
    'dash.contrib.layouts.android',
    'dash.contrib.layouts.bootstrap2',
    'dash.contrib.layouts.windows8',
    'dash.contrib.plugins.dummy',
    'dash.contrib.plugins.image',
    **'dash.contrib.plugins.memo',
    'dash.contrib.plugins.news',**
    'dash.contrib.plugins.rss_feed',
    'dash.contrib.plugins.url',
    'dash.contrib.plugins.video',
    'dash.contrib.plugins.weather',
    # ...
)
  

Это сообщение об ошибке, которое я получаю. Я подумал, что, возможно, файлы отсутствуют, но когда я проверяю папки, autoreload.py и т.д. Все есть. В чем может быть проблема?

 Unhandled exception in thread started by <function wrapper at 0x0208ECB0>
Traceback (most recent call last):
  File "C:Python27libsite-packagesdjangoutilsautoreload.py", line 93, in w
rapper
    fn(*args, **kwargs)
  File "C:Python27libsite-packagesdjangocoremanagementcommandsrunserver.
py", line 101, in inner_run
    self.validate(display_num_errors=True)
  File "C:Python27libsite-packagesdjangocoremanagementbase.py", line 310,
 in validate
    num_errors = get_validation_errors(s, app)
  File "C:Python27libsite-packagesdjangocoremanagementvalidation.py", lin
e 34, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "C:Python27libsite-packagesdjangodbmodelsloading.py", line 196, in
 get_app_errors
    self._populate()
  File "C:Python27libsite-packagesdjangodbmodelsloading.py", line 75, in
_populate
    self.load_app(app_name, True)
  File "C:Python27libsite-packagesdjangodbmodelsloading.py", line 99, in
load_app
    models = import_module('%s.models' % app_name)
  File "C:Python27libsite-packagesdjangoutilsimportlib.py", line 40, in im
port_module
    __import__(name)
  File "C:Python27libsite-packagesdjango_dash-0.4.5-py2.7.eggdashmodels.py
", line 21, in <module>
    class DashboardSettings(models.Model):
  File "C:Python27libsite-packagesdjango_dash-0.4.5-py2.7.eggdashmodels.py
", line 32, in DashboardSettings
    layout_uid = models.CharField(_("Layout"), max_length=25, choices=get_regist
ered_layouts())
  File "C:Python27libsite-packagesdjango_dash-0.4.5-py2.7.eggdashbase.py",
 line 1491, in get_registered_layouts
    ensure_autodiscover()
  File "C:Python27libsite-packagesdjango_dash-0.4.5-py2.7.eggdashbase.py",
 line 1432, in ensure_autodiscover
    autodiscover()
  File "C:Python27libsite-packagesdjango_dash-0.4.5-py2.7.eggdashdiscover.
py", line 33, in autodiscover
    do_discover(PLUGINS_MODULE_NAME)
  File "C:Python27libsite-packagesdjango_dash-0.4.5-py2.7.eggdashdiscover.
py", line 27, in do_discover
    __import__('{0}.{1}'.format(app, module_name))
  File "C:Python27libsite-packagesdjango_dash-0.4.5-py2.7.eggdashcontribp
luginsmemodash_plugins.py", line 10, in <module>
    from dash.contrib.plugins.memo.forms import MemoForm, TinyMCEMemoForm
  File "C:Python27libsite-packagesdjango_dash-0.4.5-py2.7.eggdashcontribp
luginsmemoforms.py", line 9, in <module>
    from tinymce.widgets import TinyMCE
  File "C:Python27libsite-packagesdjango_tinymce-1.5.2-py2.7.eggtinymcewid
gets.py", line 10, in <module>
    import tinymce.settings
  File "C:Python27libsite-packagesdjango_tinymce-1.5.2-py2.7.eggtinymceset
tings.py", line 16, in <module>
    JS_ROOT = getattr(settings, 'TINYMCE_JS_ROOT',os.path.join(settings.STATIC_R
OOT, 'tiny_mce'))
  File "C:Python27libntpath.py", line 64, in join
    result_drive, result_path = splitdrive(path)
  File "C:Python27libntpath.py", line 94, in splitdrive
    if p[1:2] == ':':
TypeError: 'NoneType' object has no attribute '__getitem__'
  

Комментарии:

1. Оказывается, мне не хватало некоторых зависимостей, которые не требуются для dash, но для плагинов news и memo..

Ответ №1:

Как задокументировано (недавно), для django-tinymce и news плагинов требуется memo пакет.

К сожалению, django-tinymce пока не совместим с Python 3 (однако существует ветвь, совместимая с python 3, которая однажды станет главной).

В случае, если вы используете Python 3, вам следует просто использовать TinyMCE без django-tinymce (что в любом случае не так много работы).