Конфликты имен сторонних приложений DjangoPython

Программы на Python
Anonymous
Конфликты имен сторонних приложений Django

Сообщение Anonymous »

Я пытался заставить два сторонних приложения работать вместе, но у меня это не сработало из-за их названий.

два приложения, которые я пытаюсь заставить работать, — это django-user-accounts и django-allauth. Проблема в том, что оба приложения используют одну и ту же «учетную запись» пространства имен, и я не понимаю, как их исправить.

Я нашел кое-что подобные вещи кажутся способом исправить это, но когда я пытаюсь это реализовать, у меня возникают две проблемы.
  • Похоже, что он вообще ничего не делает для учетных записей пользователей django.
  • С django-allauth в пакете allauth находится множество различных приложений, и получить для него папку приложения учетной записи, мне также нужно сначала создать папку allauth, что сделает эти другие приложения недоступными.
Вот что у меня есть на данный момент.

В папке моего проекта я создал следующую структуру:

Код: Выделить всё

allauth
├── account
│   ├── apps.py
│   └── __init__.py
└── __init__.py
В allauth.account.__init__ у меня есть:

Код: Выделить всё

from django.apps import AppConfig

default_app_config = 'allauth.account.apps.CustomAccountAppConfig'
В allauth.account.apps у меня есть:

Код: Выделить всё

from django.apps import AppConfig

class CustomAccountAppConfig(AppConfig):

verbose_name = 'custom account'
name = "allauth.account"
label = "custom_account"

def __init__(self, app_name, app_module):
AppConfig.__init__(self,app_name, app_module)
Кажется, это разрешает конфликт с именем, но затем я получаю сообщение ImportError: Нет модуля с именем «allauth.socialaccount», поскольку он переопределил allauth пакет.

Как мне решить этот конфликт имен и сохранить работу всех остальных подпакетов и приложений?

Подробнее здесь: https://stackoverflow.com/questions/468 ... -conflicts

Вернуться в «Python»