#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
пакет.
- https://github.com/barseghyanartur/django-dash/tree/master/src/dash/contrib/plugins/news
- https://github.com/barseghyanartur/django-dash/tree/master/src/dash/contrib/plugins/memo
К сожалению, django-tinymce
пока не совместим с Python 3 (однако существует ветвь, совместимая с python 3, которая однажды станет главной).
В случае, если вы используете Python 3, вам следует просто использовать TinyMCE без django-tinymce
(что в любом случае не так много работы).