Отмена сайта администратора по умолчанию - не удается найти myproject - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь переопределить сайт администратора по умолчанию. Я следил за документами Django здесь: https://docs.djangoproject.com/en/3.0/ref/contrib/admin/#overriding -the-default-admin-site

Я сделал все, как указано там, поэтому файлы выглядят как ниже:

admin / admin.py:

from django.contrib import admin
from django.utils.translation import gettext as _, gettext_lazy

class CustomAdminSite(admin.AdminSite):
    # Text to put in each page's <h1>.
    site_header = gettext_lazy('TEST administration')

admin / apps.py

from django.contrib.admin.apps import AdminConfig

class CustomAdminConfig(AdminConfig):
    default_site = 'admin.CustomAdminSite'

core / urls.py

urlpatterns = [
    path(r'testadmin/', admin.site.urls),
]

core / settings.py

INSTALLED_APPS = [
    'admin.apps.CustomAdminConfig',
]

Теперь я получаю ImportError:

ImportError: модуль «admin» не определяет атрибут / класс «CustomAdminSite»

I думаю, это потому, что django ищет модуль администратора, который живет внутри виртуальной среды с классом CustomAdminSite. Это не так, админ-папка с необходимыми python файлами находится в базовом пути myproject. Когда я указываю это в своих настройках, например: myproject.admin.apps.CustomAdminConfig, я получаю ModuleNotFOundError:

ModuleNotFoundError: нет модуля с именем myproject

Я думаю то же, что указано выше. Django ищет модуль с именем myproject внутри виртуальной среды.

Есть ли способ изменить это в настройках или каким-то другим способом обойти это?

1 Ответ

0 голосов
/ 06 августа 2020

Решено! Решение Иэна Шелвингтона сработало. Другая проблема была в моем основном URLs.py

...