удалить приложения по умолчанию в INSTALLED_APPS - PullRequest
0 голосов
/ 16 апреля 2020

Я новичок в Django и python в целом, и я пытаюсь настроить RESTful API, используя Django и Django Rest Framework, поэтому моя проблема в том, что я хочу избавиться от установленные по умолчанию приложения, что-то вроде этого:

INSTALLED_APPS = [
    #'django.contrib.admin',
    #'django.contrib.auth',
    #'django.contrib.contenttypes',
    #'django.contrib.sessions',
    #'django.contrib.messages',
    #'django.contrib.staticfiles',
    'rest_framework',
    'myapp',
]

, так как я хочу простой API (без пользовательского интерфейса), который предоставляет мне некоторые данные. Но когда я запускаю python manage.py makemigrations, я получаю следующее сообщение:

LookupError: Нет установленного приложения с меткой 'admin'

Означает ли это, что эти приложения необходимы?

Заранее спасибо.

1 Ответ

0 голосов
/ 17 апреля 2020

Имейте в виду, что Django Rest Framework наследует многое от Django, и если вы используете другие пакеты, они, вероятно, делают то же самое; вы можете удалить некоторые приложения (например, django.contrib.sessions, если вы не собираетесь их использовать), но это зависит от того, что вы собираетесь делать в своем проекте.

В частности, ошибка, на которую вы ссылаетесь вызвано удалением django.contrib.admin, который предоставляет интерфейс администратора для вашего проекта, очень полезно на этапе разработки. Вы можете прочитать больше об этом здесь . Если вы создали ваше приложение со стандартными django-admin startproject и django-admin startapp по умолчанию, вы импортируете файлы административного приложения urls.py и admin.py с этой строкой кода:

from django.contrib import admin

Просто получите избавьтесь от него (и последующего кода в admin.py и urls.py, который ссылается на приложение администратора) и ошибки должны go удалить.

Каждое приложение имеет свое назначение. Вы можете узнать больше об этом здесь:

  1. django.contrib.admin: документация ;
  2. django.contrib.auth: документация ;
  3. django.contrib.contenttypes: документация ;
  4. django.contrib.sessions: документация ;
  5. django.contrib.messages: документация ;
  6. django.contrib.staticfiles: документация .

Как только вы поймете назначение каждого приложения и получите представление о функциях вашего проекта и пакетов, вы получите использовать вы можете выбрать, какие приложения должны быть удалены; хотя, по крайней мере, для начала, пока вы учитесь, я лично предлагаю вам просто сохранить все из них, чтобы быть в безопасности, учитывая, что они предоставляют очень базовые c функциональные возможности.

...