Я добавил свойство router (экземпляр DRR's SimpleRouter) в свой AppConfig. Я хочу получить список всех установленных приложений в моем файле urls.py и добавить любое приложение с свойством router в мои шаблоны url.Загрузка модуля django.apps внутри файла шаблонов url
Это мой urls.py файл:
from django.conf.urls import url, include
from django.contrib import admin
from django.apps import apps
urlpatterns = [
url(r'^admin/', include(admin.site.urls))
]
# Loading the routers of the installed apps and core apps
for app in apps.get_app_configs():
if hasattr(app, 'router'):
urlpatterns += app.router.urls
и это пример моего модифицированного AppConfig:
from django.apps import AppConfig
from .router import auth_router
class AuthConfig(AppConfig):
name = "core.auth"
# to avoid classing with the django auth
label = "custom_auth"
# router object
router = auth_router
def ready(self):
from .signals import user_initialize, password_reset_set_token
default_app_config = 'core.auth.AuthConfig'
Когда я пытаюсь выше решение, я в конечном итоге получить «Джанго .core.exceptions.AppRegistryNotReady: приложения еще не загружены. " сообщение об ошибке!
Я пробовал использовать предлагаемые решения here, но никто из них не работал!