Django и TinyMCE: NameError: имя 'url' не определено - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь заставить TinyMCE работать в Джанго.Вот что я сделал:

  • Использование этого пакета для справки: django-tinymce4-lite
  • Успешно выполнил pip install django-tinymce4-lite;пакет прекрасно устанавливается
  • Добавлен tinymce для INSTALLED_APPS в settings.py

Тогда вот это становится сложным:

Add tinymce.urls to urls.py for your project:

urlpatterns = [
    ...
    url(r'^tinymce/', include('tinymce.urls')),
    ...
]

Когда я это делаю, я получаю эту ошибку:

url(r'^tinymce/', include('tinymce.urls')),  
NameError: name 'url' is not defined

Я попробовал следующее:

  • Перезапуск django
  • Вместо того, чтобы поместить это в urls.py моего проекта, я попробовал URL своего приложения.py
  • Я пытался преобразовать это в " путь ('tinymce /', include ('tinymce.urls')), ", потому что все другие записи используют "путь", а не "url ', но это тоже не сработало (ModuleNotFoundError: Нет модуля с именем' tinymce.urls)
  • Я пробовал другой плагин tinymce

Ни один изэто помогло.Какие-либо предложения?

ОБНОВЛЕНИЕ

Согласно предложениям, я обновил URL-адрес пути.Теперь у меня новая ошибка:

ModuleNotFoundError: No module named 'tinymce.urls'

Вот мой urls.py:

from django.urls import include, path
from django.contrib import admin

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('', include('core.urls')),
    path('tinymce/', include('tinymce.urls')),
]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Эта ошибка заставила меня усомниться в правильности установки плагина.Но, похоже, у меня есть:

pip install django-tinymce4-lite
Requirement already satisfied: django-tinymce4-lite in /usr/local/lib/python3.6/site-packages
Requirement already satisfied: Django>=1.8.0 in /usr/local/lib/python3.6/site-packages (from django-tinymce4-lite)
Requirement already satisfied: jsmin in /usr/local/lib/python3.6/site-packages (from django-tinymce4-lite)
Requirement already satisfied: pytz in /usr/local/lib/python3.6/site-packages (from Django>=1.8.0->django-tinymce4-lite)

Ответы [ 3 ]

0 голосов
/ 01 июня 2018

Поскольку вы используете django 2.0, вы должны использовать path вместо url:

from django.urls import path

urlpatterns = [
    ...
    path('tinymce/', include('tinymce.urls')),
    ...
]

Более подробную информацию вы можете найти здесь .

0 голосов
/ 02 июня 2018

потому что он использует django 2 Согласно документации вы можете использовать path и re_path пример:

from django.urls import path , re_path

urlpatterns = [
     path('tinymce/', include('tinymce.urls')),

    # or
    #path('tinymce/', include('tinymce.urls')),

]
0 голосов
/ 01 июня 2018

У вас есть NameError, потому что вы ссылаетесь на url в urls.py, но не импортировали его.добавьте следующую строку в urls.py

from django.conf.urls import url
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...