manage.py と django-admin.py の違いを知るために、django docといくつかの SO 投稿を読みました。
彼らは皆言う:
manage.py は、Django プロジェクトごとに自動的に作成されます。manage.py は django-admin.py の薄いラッパーであり、django-admin.py に委譲する前に次の 2 つの処理を行います。
- プロジェクトのパッケージを sys.path に置きます。
- プロジェクトの settings.py ファイルを指すように DJANGO_SETTINGS_MODULE 環境変数を設定します。
そこで、これら2つのファイルのソースコードを確認しました(最新バージョンなのでドキュメントです)。
それから私は混乱しています。manage.py
2 番目のこと: DJANGO_SETTINGS_MODULE 環境変数を設定します。それに加えて、これら 2 つのスクリプトに違いはありません。
[ジャンゴ-admin.py]
#!/usr/bin/env python
from django.core import management
if __name__ == "__main__":
management.execute_from_command_line()
[manage.py]
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
なんで?django のドキュメントは古くなっていますか? それとも私はここで何かを逃したのですか?プロジェクトのパッケージを sys.path に置くコードはどこにあるのでしょうか?