В чем основное отличие между django.admin и manage.py?Понимание различия между django-admin runningerver и mange.py runningerver
Кроме того, чем смысл фразы «manage.py действует как„тонкая оболочка вокруг django.py“?
В чем основное отличие между django.admin и manage.py?Понимание различия между django-admin runningerver и mange.py runningerver
Кроме того, чем смысл фразы «manage.py действует как„тонкая оболочка вокруг django.py“?
здесь документация документ, который описывает разницу между Джанго-администратора и управления .py:..
django-admin.py это утилита командной строки в Django для решения административных задач в этом документе описываются все это может сделать
Кроме того, manage.py автоматически создается в каждом проекте Django . manage.py - это th в обертку вокруг django-admin.py, которая принимает заботу о двух вещах для вас, прежде чем делегируя django-admin.py:
- Это помещает пакет вашего проекта на sys.path.
- Он устанавливает переменную среды DJANGO_SETTINGS_MODULE, чтобы она указывала на файл settings.py вашего проекта.
Вот еще документация, описывающая разницу: https://django.readthedocs.org/en/1.4/ref/django-admin.html https://docs.djangoproject.com/en/1.8/ref/django-admin/
Чтобы добавить то, что я сказал на приведенных выше замечаниях - manage.py необходим, потому что каждое имя приложения будет отличаться, и вы должны указать настройки вашего приложения для успешного запуска приложения django. Там действительно нет никакой разницы между Джанго-администратором и manage.py кроме этой одной линии
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "[App name].settings")
все, что вы печатаете после manage.py, django-admin.py берет на себя, как показано:
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
Иногда это помогает просто взглянуть на исходный код, чтобы узнать, что происходит, если документация не помогает.
Если кто-то работает, а другой нет, зачем вы хотите использовать тот, который этого не делает? –
Я хотел знать причину. –
Эй, Akansha - так на основе документации, manage.py - это тонкая оболочка вокруг django-admin.py. Я никогда не работал с обертками раньше, но, основываясь на своем понимании с ними, программисты склонны писать обертки для «устаревшего программного обеспечения» [и некоторых других случаев использования, с которыми я не знаком]. Эти оболочки позволяют программистам использовать «устаревшую библиотеку», которая иначе не могла бы использоваться. Я думаю, вопрос, который вы должны задать, - это разница между manage.py и django-admin.py. Почему один должен использовать другой, я не думаю, что прочитал это в документации на самом деле. Надеюсь, что проливает свет. – macmania314