1. 程式人生 > >Django教程——manage.py命令

Django教程——manage.py命令

一、manage.py命令選項

manage.py是每個Django專案中自動生成的一個用於管理專案的指令碼檔案,需要通過python命令執行。manage.py接受的是Django提供的內建命令。

內建命令包含

    check
    dbshell
    diffsettings
    flush
    makemigrations
    migrate
    runserver
    shell
    startapp
    startproject
    test

其實有三種方式,可以在cmd視窗中執行Django提供的內建命令:

$ django-admin <command> [options]
$ python manage.py <command> [options]
$ python -m django <command> [options]

其中
1、django-admin是用於管理Django的命令列工具集,當我們成功安裝Django後,在作業系統中就會有這個命令,但是根據安裝方式或者系統環境的不同,你可能需要配置一下呼叫路徑。在Linux下,該命令一般位於site-packages/django/bin,最好做一個連結到/usr/local/bin,方便呼叫。Windows下可以配置系統環境變數

2、manage.py則是每個Django專案中自動生成的一個用於管理專案的指令碼檔案,需要在cmd視窗中cd到Django專案的manage.py所在的目錄後通過python命令執行。

其中的command是Django內建的或者你自定義的命令。

當然你可以在在pycharm中啟動manage.py時設定引數。

1. check

檢查整個Django專案是否存在常見問題。

預設情況下,所有應用都將被選中。可以通過提供app的名字檢查指定的應用:

python manage.py check app1

2. diffsettings

python manage.py diffsettings

顯示當前設定檔案與Django的預設設定之間的差異。

3. flush

python manage.py flush

從資料庫中刪除所有資料。已應用的遷移不會被清除。只刪除具體資料,不刪除資料表!

如果您希望從空資料庫啟動並重新執行所有遷移,則應該刪除並重新建立資料庫,然後再執行migrate,這樣會連原來的資料表都刪了。

4. makemigrations

python manage.py makemigrations app1 app2

根據檢測到的模型建立新的遷移。遷移的作用,更多的是將資料庫的操作,以檔案的形式記錄下來,方便以後檢查、呼叫、重做等等。尤其是對於Git版本管理,它無法獲知資料庫是如何變化的,只能通過遷移檔案中的記錄來追溯和儲存。

5. migrate

python manage.py migrate

使資料庫狀態與當前模型集和遷移集同步。說白了,就是將對資料庫的更改,主要是資料表設計的更改,在資料庫中真實執行。例如,新建、修改、刪除資料表,新增、修改、刪除某資料表內的欄位等等。

6. runserver

python manage.py runserver

啟用Django為我們提供的輕量級的開發用的Web伺服器。預設情況下,伺服器執行在IP地址127.0.0.1的8000埠上。如果要自定義伺服器埠和地址,可以顯式地傳遞一個IP地址和埠號給它。

python manage.py runserver 127.0.0.1:8080

7. shell

python manage.py shell

啟動帶有Django環境的Python互動式直譯器,也就是命令列環境。預設使用基本的python互動式直譯器。這個命令非常常用,是我們測試和開發過程中不可或缺的部分!

8. startapp

python manage.py startapp app_name

建立新的app。

預設情況下,會在這個新的app目錄下建立一系列檔案模版,比如models.py、views.py、admin.py等等。

9. startproject

python manage.py startproject project_name

新建工程。預設情況下,新目錄包含manage.py指令碼和專案包(包含settings.py和其他檔案)。

10. test

python manage.py test [test_label [test_label ...]]

執行所有已安裝的app的測試程式碼。
二、app提供的命令

前面是Django核心提供的命令項,下面則是一些內建app,比如auth等提供的命令項。它們只在對應的app啟用的時候才可用。

changepassword
createsuperuser
clearsessions
collectstatic

三、 共有引數

–pythonpath PYTHONPATH
–settings SETTINGS
–traceback
–verbosity {0,1,2,3}, -v {0,1,2,3}
–no-color