官網文檔地址: "django admin和manage.py" 金句: 所有的天賦,都來自於你對你喜歡的某種事物的模仿與學習,否則你就不會有這種天賦。 開篇話: 我們在Django開發過程中,命令行執行最多的應該就是 ,今天聊聊manage.py這個命令。 記錄要點: 1. 和`manage.py ...
官網文檔地址:django-admin和manage.py
金句:
所有的天賦,都來自於你對你喜歡的某種事物的模仿與學習,否則你就不會有這種天賦。
開篇話:
我們在Django開發過程中,命令行執行最多的應該就是python manage.py <command>
,今天聊聊manage.py這個命令。
記錄要點:
-
django-admin
和manage.py
能做同樣的事情像我們常用的
python manage.py runserver
,用django-admin
也可以操作:django-admim runserver
註意:
django-admin
需要提前提前配置好DJANGO_SETTINGS_MODULE
環境變數,或者執行時指定settings:django-admin runserver --settings=mysite.settings
推薦使用manage.py 因為它更好使用,不需要配置東西。 -
diffsettings
列出當前settings.py內容跟預設創建的settings.py有哪些改變,未出現在預設設置中的設置後跟"###"。
-
fulsh
Linux 下我們經常調侃,如果解決不了遇到的問題了,那就試試:rm -rf /
(玩笑話,請勿實操)
django 也有類型的命令:python manage.py flush
,預設刪除default資料庫,如果setting.py中配置多個資料庫,可以指定:python manage.py flush --database DATABASE
-
showmigrations
showmigrations [app_label [app_label ...]]
顯示項目中的所有遷移。
如果有過個資料庫,可以增加參數:--database DATABASE
輸出效果如下:admin [X] 0001_initial [X] 0002_logentry_remove_auto_add [ ] 0003_logentry_add_action_flag_choices
-
startapp
一般我們創建一個app是這麼操作的:
python manage.py startapp appname
。
如果app2、3個時,我們可以直接這麼操作。但是知道自己的項目下要有很多app,我們可以提前在項目目錄下創建一個python package,然後在創建時,直接指定路徑:python manage.py startapp appname [filepath]
,避免有的後期再移動。 -
test
常用命令:python manage.py test
如果我們要保留測試數據時,我們可以帶上參數--keepdb, -k
,這樣測試數據會保留。
後期還會針對test出一篇文章,敬請期待。 -
collectstatic
django的admin管理後臺的樣式在DEBUG設置為True時,會導致頁面樣式丟失,這時就需要用到這個命令了。
我還寫了一篇如何配置collectstatic,可以看我的這篇文章。
本文首發於BigYoung小站