­

django-admin和manage.py用法

官網文檔地址:django-admin和manage.py

金句:
所有的天賦,都來自於你對你喜歡的某種事物的模仿與學習,否則你就不會有這種天賦。

開篇話:

我們在Django開發過程中,命令行執行最多的應該就是python manage.py <command>,今天聊聊manage.py這個命令。

記錄要點:

  1. django-adminmanage.py 能做同樣的事情

    像我們常用的python manage.py runserver,用django-admin也可以操作:django-admim runserver

    注意:
    django-admin需要提前提前配置好DJANGO_SETTINGS_MODULE環境變量,或者執行時指定settings:django-admin runserver --settings=mysite.settings
    推薦使用manage.py 因為它更好使用,不需要配置東西。

  2. diffsettings

    列出當前settings.py內容跟默認創建的settings.py有哪些改變,未出現在默認設置中的設置後跟”###”。

  3. fulsh
    Linux 下我們經常調侃,如果解決不了遇到的問題了,那就試試:rm -rf /(玩笑話,請勿實操)
    django 也有類型的命令:python manage.py flush,默認刪除default數據庫,如果setting.py中配置多個數據庫,可以指定:python manage.py flush --database DATABASE

  4. showmigrations

    showmigrations [app_label [app_label ...]] 顯示項目中的所有遷移。
    如果有過個數據庫,可以增加參數:--database DATABASE
    輸出效果如下:

     admin
     [X] 0001_initial
     [X] 0002_logentry_remove_auto_add
     [ ] 0003_logentry_add_action_flag_choices
    
  5. startapp

    一般我們創建一個app是這麼操作的:python manage.py startapp appname
    如果app2、3個時,我們可以直接這麼操作。但是知道自己的項目下要有很多app,我們可以提前在項目目錄下創建一個python package,然後在創建時,直接指定路徑:python manage.py startapp appname [filepath],避免有的後期再移動。

  6. test

    常用命令:python manage.py test
    如果我們要保留測試數據時,我們可以帶上參數--keepdb, -k,這樣測試數據會保留。
    後期還會針對test出一篇文章,敬請期待。

  7. collectstatic

    django的admin管理後台的樣式在DEBUG設置為True時,會導致頁面樣式丟失,這時就需要用到這個命令了。

    我還寫了一篇如何配置collectstatic,可以看我的這篇文章。

本文首發於BigYoung小站