1. ホーム
  2. python

[解決済み] Django モデル "doesn't declare an explicit app_label"

2022-02-16 10:44:52

質問

途方に暮れています。トラブルシューティングに十数時間、おそらくそれ以上かかって、やっとビジネスになったと思ったのに。

Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label 

この件に関する情報はウェブ上にほとんどなく、どのソリューションも私の問題を解決してくれません。何かアドバイスがあれば、非常にありがたいです。

Python 3.4とDjango 1.10を使用しています。

私の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',
]

そして、私のapps.pyファイルはこのようになっています。

from django.apps import AppConfig


class DeletenoteConfig(AppConfig):
    name = 'DeleteNote'

そして

from django.apps import AppConfig


class LibrarysyncConfig(AppConfig):
    name = 'LibrarySync'

解決方法は?

設定ファイルにアプリケーション名を入れていませんか? また myAppNameConfig は、apps.pyで生成されるデフォルトのクラスで .manage.py createapp myAppName コマンドを使用します。ここで myAppName はアプリの名前です。

設定.py

INSTALLED_APPS = [
'myAppName.apps.myAppNameConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

このようにして、設定ファイルは、あなたがアプリケーションをどのように呼びたいかを見つけます。後でapps.pyファイルに次のコードを追加することで、どのように見えるかを変更することができます。

myAppName/apps.py

class myAppNameConfig(AppConfig):
    name = 'myAppName'
    verbose_name = 'A Much Better Name'