django中創建一個project之後,就會創建一個以項目名稱命名的文件中,文件夾中包含了一個同名文件夾和一個manage.py文件。比如:
之後如果要啓動服務、同步數據庫等操作,都是用python manage.py 開頭的,因此manage.py程序顯然是服務器操作的入口。
其詳細用法可參考官方文檔
https://docs.djangoproject.com/en/2.2/ref/django-admin/
其中,開頭提到一句話:
In addition, manage.py is automatically created in each Django project. It does the same thing as django-admin but also sets the DJANGO_SETTINGS_MODULE environment variable so that it points to your project’s settings.py file.
意思是manage.py和django-admin的作用一樣。
來看一下manage.py文件,包含註釋才20行代碼
逐行看下去
這裏導入os模塊,用於接收操作系統的命令,詳細用法可參考官方文檔
常用的作用比如文件操作、路徑操作、讀取進程信息等等等等。
導入sys模塊,詳細用法可參考官方文檔
這個模塊用來訪問由解釋器使用或維護的一些變量,以及訪問一些與解釋器關聯密切的函數。
main函數第一步就是加載項目全局設置,這裏是唯一一行每個項目不同的代碼行。主要是涉及到了項目名稱,比如這裏的myweb
嘗試導入django模塊的execute_from_command_line函數,如果導入失敗,說明django安裝可能有問題。
執行帶參數的命令
區分獨立運行方式還是被引用的運行方式。
以上就是一些簡單的代碼解析,寫的比較簡略,這裏有一篇博文對manage.py的運行過程寫的比較詳細,做個記錄