Estoy al final del ingenio. Después de una docena de horas de resolución de problemas, probablemente más, pensé que finalmente estaba en el negocio, pero luego obtuve:
Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label
Hay TAN POCA información sobre esto en la web, y ninguna solución ha resuelto mi problema. Cualquier consejo sería muy apreciado.
Estoy usando Python 3.4 y Django 1.10.
Desde mi settings.py:
INSTALLED_APPS = [
'DeleteNote.apps.DeletenoteConfig',
'LibrarySync.apps.LibrarysyncConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Y mis archivos apps.py se ven así:
from django.apps import AppConfig
class DeletenoteConfig(AppConfig):
name = 'DeleteNote'
y
from django.apps import AppConfig
class LibrarysyncConfig(AppConfig):
name = 'LibrarySync'
python
django
python-3.x
Slbox
fuente
fuente
Respuestas:
¿Falta poner el nombre de su aplicación en el archivo de configuración? El
myAppNameConfig
es la clase por defecto generado en apps.py por el .manage.py createapp myAppName comando. Donde myAppName es el nombre de su aplicación.settings.py
De esta forma, el archivo de configuración descubre cómo desea llamar a su aplicación. Puede cambiar su apariencia más adelante en el archivo apps.py agregando el siguiente código en
myAppName / apps.py
fuente
import django django.setup()
en mi settings.py, debajo de laINSTALLED_APPS
entrada.Recibo el mismo error y no sé cómo resolver este problema. Me tomó muchas horas darme cuenta de que tengo un init.py en el mismo directorio que el manage.py de django.
Antes de:
Después:
Es bastante confuso que obtenga este error "no declara una etiqueta de aplicación explícita". Pero eliminar este archivo de inicio resolvió mi problema.
fuente
Tuve exactamente el mismo error al ejecutar pruebas con PyCharm. Lo solucioné estableciendo explícitamente
DJANGO_SETTINGS_MODULE
la variable de entorno. Si está utilizando PyCharm, simplemente presione el botón Editar configuraciones y elija Variables de entorno .Establezca la variable en
your_project_name.settings
y eso debería arreglar la cosa.Parece que se produce este error, porque PyCharm ejecuta pruebas con el suyo
manage.py
.fuente
DJANGO_SETTINGS_MODULE
para cada nueva configuración de ejecución de prueba de Django y Django.DJANGO_SETTINGS_MODULE
la primera vez cuando hice clic enApply
ese momentoOK
. Lo hice por segunda vez y ahora funciona. Parece un poco de rareza PyCharm.<app>.<module> import <class>
- Falta la importación automática de PyCharm<app>
. Una vez que corrigí esto (también verifiqué los módulos dependientes), funcionó bien.Obtuve este cuando lo usé,
./manage.py shell
luego lo importé accidentalmente desde el directorio de nivel de proyecto raízfuente
from fields import x
afrom .fields import x
como novato usando Python3 , encuentro que podría ser un error de importación en lugar de un error de Django
incorrecto:
Derecha:
esto sucedió hace unos días, pero realmente no puedo reproducirlo ... Creo que solo las personas nuevas en Django pueden encontrar esto. Esto es lo que recuerdo:
intenta registrar un modelo en admin.py:
intente ejecutar el servidor, el error se ve así
cambiar
user
a.user
, problema resueltofuente
Tuve el mismo problema en este momento. He arreglado el mío agregando un espacio de nombres en el nombre de la aplicación. Espero que alguien encuentre esto útil.
apps.py
fuente
Recibí este error al importar modelos en pruebas, es decir, dada esta estructura de proyecto de Django:
en el archivo
test_models.py
que importéMyModel
de esta manera:El problema se solucionó si se importaba de esta manera:
¡Espero que esto ayude!
PD: Tal vez esto sea un poco tarde, pero no encontré en otras respuestas cómo resolver este problema en mi código y quiero compartir mi solución.
fuente
from .models import MyModel
. Cambiar parafrom myapp.models import MyModel
solucionar el problema.Después de seguir encontrándome con este problema y volver a esta pregunta, pensé en compartir cuál era mi problema.
Todo lo que @Xeberdee es correcto, así que síguelo y vea si eso resuelve el problema, si no, este era mi problema:
En mi apps.py esto es lo que tenía:
Y todo lo que hice fue agregar el nombre del proyecto delante del nombre de mi aplicación de esta manera:
¡Y eso resolvió mi problema y pude ejecutar el comando makemigrations y migrate después de eso! buena suerte
fuente
Hoy tuve este error al intentar ejecutar pruebas de Django porque estaba usando la
from .models import *
sintaxis abreviada en uno de mis archivos. El problema era que tenía una estructura de archivos así:y
models/__init__.py
estaba importando mis modelos usando la sintaxis abreviada:En mi aplicación estaba importando modelos así:
Esto provocó que
Django model doesn't declare an explicit app_label
cuando se ejecutaba./manage.py test
.Para solucionar el problema, tuve que importar explícitamente desde la ruta completa en
models/__init__.py
:Eso se encargó del error.
H / t https://medium.com/@michal.bock/fix-weird-exceptions-when-running-django-tests-f58def71b59a
fuente
En mi caso, esto sucedió porque utilicé una ruta de módulo relativa en urls.py a nivel de proyecto ,
INSTALLED_APPS
y enapps.py
lugar de estar enraizado en la raíz del proyecto. es decir, rutas de módulo absolutas en todo, en lugar de rutas de módulos relativos + trucos.No importa cuánto me metí con las rutas en
INSTALLED_APPS
yapps.py
en mi aplicación, no pude obtener ambasrunserver
ypytest
trabajar hasta que las tres estuvieran enraizadas en la raíz del proyecto.Estructura de carpetas:
Con lo siguiente, podría ejecutar
manage.py runserver
y gunicorn con wsgi y usarportal
vistas de aplicaciones sin problemas, pero pytest produciría un error aModuleNotFoundError: No module named 'apps'
pesar deDJANGO_SETTINGS_MODULE
estar configurado correctamente.config / settings.py:
biz_portal / apps / portal / apps.py:
config / urls.py:
Cambiar la referencia de aplicación en config / settings.py a
biz_portal.apps.portal.apps.PortalConfig
yPortalConfig.name
abiz_portal.apps.portal
PYtest dejarlo funcionar (no tengo pruebas paraportal
vistas aún), perorunserver
habría error conFinalmente busqué para
apps.portal
ver qué sigue usando una ruta relativa, y descubrí que config / urls.py también debería usarbiz_portal.apps.portal.urls
.fuente
Me encontré con este error cuando intenté generar migraciones para una sola aplicación que tenía migraciones mal formadas debido a una fusión de git. p.ej
Cuando eliminé sus migraciones y luego ejecuté:
el error no ocurrió y las migraciones se generaron exitosamente.
fuente
Tuve un problema similar, pero pude resolver el mío especificando explícitamente el app_label usando Meta Class en mi clase de modelos
fuente
Recibí este error al intentar actualizar mi aplicación Django Rest Framework a DRF 3.6.3 y Django 1.11.1.
Para cualquier otra persona en esta situación, encontré mi solución en un problema de GitHub , que era desarmar la
UNAUTHENTICATED_USER
configuración en la configuración de DRF :fuente
Me encontré con este problema y descubrí qué estaba saliendo mal. Dado que ninguna respuesta anterior describió el problema como me sucedió a mí, pensé que lo publicaría para otros:
python migrate.py startapp myApp
desde la carpeta raíz de mi proyecto, luego mover myApp a una carpeta secundaria conmv myApp myFolderWithApps/
.python migrate.py makemigrations
. Todo fue bien.myFolderWithApps.myApp
para hacer referencia a mi aplicación, pero me había olvidado de actualizar MyApp / apps.py. Así que corrigí myApp / apps.py, settings / INSTALLED_APPS y mi ruta de importación en mi segunda aplicación.Entonces, para abreviar la historia: el problema provenía inicialmente del nombre de aplicación incorrecto en apps.py de myApp, en la configuración y en la ruta de importación de mi segunda aplicación. - pero no fue suficiente para corregir las rutas en estos tres lugares, ya que las migraciones se crearon con importaciones que hacen referencia al nombre de aplicación incorrecto. Por lo tanto, siguió ocurriendo el mismo error durante la migración (excepto esta vez de las migraciones).
Entonces ... revisa tus migraciones y ¡buena suerte!
fuente
Tengo un error similar al crear una API en Django rest_framework.
la respuesta de luke_aus me ayudó a corregir mi urls.py
de
a
fuente
En mi caso, recibí este error al migrar el código de Django 1.11.11 a Django 2.2. Estaba definiendo una clase derivada de FileSystemStorage personalizada. En Django 1.11.11 tenía la siguiente línea en models.py:
y más tarde en el archivo tenía la definición de clase:
Sin embargo, en Django 2.2 necesito hacer referencia explícita a la
FileSystemStorage
clase al importar:y ¡voilà !, el error desaparece.
Tenga en cuenta que todos están informando la última parte del mensaje de error emitido por el servidor Django. Sin embargo, si se desplaza hacia arriba, encontrará el motivo en medio de ese error mambo-jambo.
fuente
en mi caso, pude encontrar una solución y, al mirar el código de todos los demás, puede ser el mismo problema. Simplemente tuve que agregar 'django.contrib.sites' a la lista de aplicaciones instaladas en settings.py expediente.
Espero que esto ayude a alguien. esta es mi primera contribución a la comunidad de codificación
fuente
TL; DR: Agregar un __init__.py en blanco solucionó el problema para mí.
Recibí este error en PyCharm y me di cuenta de que mi archivo de configuración no se estaba importando en absoluto. No hubo un error obvio al decirme esto, pero cuando puse un código sin sentido en settings.py, no causó un error.
Tenía settings.py dentro de una carpeta local_settings . Sin embargo, se me había olvidado incluir un __init__.py en la misma carpeta para permitir su importación. Una vez que agregué esto, el error desapareció.
fuente
Si tiene todas las configuraciones correctas, podría ser un desastre de importación. Esté atento a cómo está importando el modelo infractor.
Lo siguiente no funcionará
from .models import Business
. En su lugar, use la ruta de importación completa:from myapp.models import Business
fuente
Si todo lo demás falla, y si ves este error al intentar importar en una "consola Python" de PyCharm (o "consola Django"):
Intente reiniciar la consola.
Esto es bastante vergonzoso, pero me tomó un tiempo darme cuenta de que me había olvidado de hacer eso.
Esto es lo que pasó:
Se agregó una aplicación nueva, luego se agregó un modelo mínimo, luego se intentó importar el modelo en la consola de Python / Django (PyCharm pro 2019.2). Esto generó el
doesn't declare an explicit app_label
error, porque no había agregado la nueva aplicación aINSTALLED_APPS
. Entonces, agregué la aplicaciónINSTALLED_APPS
, intenté la importación nuevamente, pero aún obtuve el mismo error.Vine aquí, leí todas las demás respuestas, pero nada parecía encajar.
Finalmente me di cuenta de que aún no había reiniciado la consola de Python después de agregar la nueva aplicación a
INSTALLED_APPS
.Nota: no reiniciar la consola PyCharm Python, después de agregar un nuevo objeto a un módulo, también es una excelente manera de obtener una muy confusa
ImportError: Cannot import name ...
fuente
.env
archivo y estaba haciendo todo lo posible para que las cosas funcionaran con una configuración obsoleta: /O ... M ... G También recibí este error y pasé casi 2 días en él y ahora finalmente logré resolverlo. Honestamente ... el error no tuvo nada que ver con el problema. En mi caso fue una simple cuestión de sintaxis. Estaba intentando ejecutar un módulo de Python de forma independiente que usaba algunos modelos de django en un contexto de django, pero el módulo en sí no era un modelo de django. Pero estaba declarando mal la clase
En vez de tener
estaba haciendo
que obviamente está mal. El mensaje es tan engañoso que no pude evitarlo, pero creo que fue un problema con la configuración o simplemente usando django de manera incorrecta, ya que soy muy nuevo en él.
Compartiré esto aquí para alguien novato, ya que yo, pasando por la misma tontería, espero que pueda resolver su problema.
fuente
Recibí este error después de mover el
SECRET_KEY
para extraer de una variable de entorno y olvidé configurarlo al ejecutar la aplicación. Si tienes algo como esto en tusettings.py
luego asegúrese de que está configurando la variable de entorno.
fuente
Lo más probable es que tenga importaciones dependientes .
En mi caso, usé una clase de serializador como parámetro en mi modelo, y la clase de serializador estaba usando este modelo: serializer_class = AccountSerializer
Y en el archivo "serializadores":
fuente
Recibí este error hoy y terminé aquí después de buscar en Google. Ninguna de las respuestas existentes parece relevante para mi situación. Lo único que tenía que hacer era importar un modelo de mi
__init__.py
archivo en el nivel superior de una aplicación. Tuve que mover mis importaciones a las funciones usando el modelo.¡Django parece tener un código extraño que puede fallar así en tantos escenarios diferentes!
fuente
Recibí este error también hoy. El mensaje hace referencia a alguna aplicación específica de mis aplicaciones en INSTALLED_APPS . Pero, de hecho, no tuvo nada que ver con esta aplicación específica. Usé un nuevo entorno virtual y olvidé instalar algunas bibliotecas que usé en este proyecto. Después de instalar las bibliotecas adicionales, funcionó.
fuente
Para usuarios de PyCharm: Tuve un error al usar una estructura de proyecto no "limpia".
Estaba:
Ahora:
Aquí hay muchas buenas soluciones, pero creo que, en primer lugar, debe limpiar la estructura de su proyecto o ajustar la configuración de PyCharm Django antes de configurar
DJANGO_SETTINGS_MODULE
variables, etc.Espero que ayude a alguien. Salud.
fuente
El problema es que:
Ha realizado modificaciones en su archivo de modelos, pero aún no las ha agregado a la base de datos, pero está intentando ejecutar Python manage.py runserver.
Ejecute Python manage.py makemigrations
Python manage.py migrar
Ahora Python manage.py runserver y todo debería estar bien.
fuente