File Browser no grapelli: NameError: имя 'site' не определено - PullRequest
0 голосов
/ 23 сентября 2018

Я следую этому учебнику для установки django-tinymce4-lite .В конце урока есть указания по установке django-filebrowser-no-grappelli .

Я использую Django 2.1.1, но, несмотря на то, что я следовал всем указаниям, послеПри установке файлового браузера было показано это сообщение:

Файл "/var/www/html/dev/miosito/django/beautifulsite_v0.1.1/djangosite/djangimity/urls.py", строка 25, в пути ('admin / filebrowser /', include (site.urls)), NameError: имя 'site' не определено

Здесь есть urls.py:

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from filebrowser.sites import site #sorry I've forgot this

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('testapp.urls')), #app for my tests
    path('tinymce/', include('tinymce.urls')),
    path('admin/filebrowser/', include('site.urls')),
]

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

В чем я не прав?

РЕДАКТИРОВАТЬ после исправления Йео:

Я добавил строку, которую я забыл, иЯ исправил

path('admin/filebrowser/', include(site.urls)), 

с

path('admin/filebrowser/', include('site.urls')),

, но теперь у меня есть эта новая ошибка:

ModuleNotFoundError: Нет модуля с именем 'site.urls«;«сайт» не является пакетом

1 Ответ

0 голосов
/ 23 сентября 2018

Попробуйте следующее: (удалите include)

# ...
from filebrowser.sites import site
# ...

urlpatterns = [
    # ...
    path('admin/filebrowser/', site.urls),
    # ...
]

Всегда обращайтесь к официальной документации пакета, когда вы сталкиваетесь с ошибками, характерными для самого пакета.(В данном случае это django-filebrowser , хотя основной репозиторий выглядит как django-filebrowser-no-grappelli ).Блог иногда устаревает легко.Например, руководство по вашей ссылке не указывает, какую версию Django они используют.(Судя по тому, как было написано руководство include, похоже, что Django <1.9 <a href="https://docs.djangoproject.com/en/1.9/releases/1.9/#passing-a-3-tuple-or-an-app-name-to-include" rel="nofollow noreferrer"> (ссылка) ).

Если вы используете Django> = 2, то официальныйДокумент должен объяснить правильный способ установки этого пакета.

...