1. 程式人生 > 實用技巧 >Django 基本命令

Django 基本命令

Django基本命令

本節主要是為了讓您瞭解一些django最基本的命令,請嘗試著記住它們,並且多多練習下,特別是標記為紅色的那些

開啟 Linux 或 MacOS 的 Terminal (終端)直接在 終端中輸入這些命令(不是 python 的 shell中)

如果是 windows 用 cmd(開始 搜尋 cmd 或者 快捷鍵win + R,輸入 cmd) 直接在 cmd 上操作。

1. 新建一個 django project

1 2 django-admin.pystartprojectproject_name 特別是在windows上,如果報錯,嘗試用django-admin代替django-admin.py試試

注意 project_name 是自己的專案名稱,需要為合法的 Python 包名,如不能為 1a 或 a-b。

2. 新建 app

要先進入專案目錄下,cd project_name 然後執行下面的命令(下同,已經在專案目錄下則不需要 cd project_name)

1 2 pythonmanage.pystartappapp_name 或django-admin.pystartappapp_name

一般一個專案有多個app, 當然通用的app也可以在多個專案中使用。

與專案名類似 app name 也需要為合法的 Python 包名,如 blog,news, aboutus 等都是合法的 app 名稱。

3. 建立資料庫表 或 更改資料庫表或欄位

1 2 3 4 5 #1.建立更改的檔案 pythonmanage.pymakemigrations #2.將生成的py檔案應用到資料庫 pythonmanage.pymigrate

這種方法可以在SQL等資料庫中建立與models.py程式碼對應的表,不需要自己手動執行SQL。

備註:對已有的 models 進行修改,Django 1.7之前的版本的Django都是無法自動更改表結構的,不過有第三方工具 south,詳見Django 資料庫遷移一節。

4. 使用開發伺服器

開發伺服器,即開發時使用,一般修改程式碼後會自動重啟,方便除錯和開發,但是由於效能問題,建議只用來測試,不要用在生產環境。

1 2 3 4 5 6 7 8 9 10 11 12 pythonmanage.pyrunserver #當提示埠被佔用的時候,可以用其它埠: pythonmanage.pyrunserver8001 pythonmanage.pyrunserver9999 (當然也可以kill掉佔用埠的程序,具體後面有講,此處想知道的同學可查下lsof命令用法) #監聽機器所有可用ip(電腦可能有多個內網ip或多個外網ip) pythonmanage.pyrunserver0.0.0.0:8000 #如果是外網或者區域網電腦上可以用其它電腦檢視開發伺服器 #訪問對應的ip加埠,比如http://172.16.20.2:8000

5. 清空資料庫

1 pythonmanage.pyflush

此命令會詢問是 yes 還是 no, 選擇 yes 會把資料全部清空掉,只留下空表。

6. 建立超級管理員

1 2 3 4 5 6 pythonmanage.pycreatesuperuser #按照提示輸入使用者名稱和對應的密碼就好了郵箱可以留空,使用者名稱和密碼必填 #修改使用者密碼可以用: pythonmanage.pychangepasswordusername

7. 匯出資料 匯入資料

1 2 pythonmanage.pydumpdataappname>appname.json pythonmanage.pyloaddataappname.json

關於資料操作 詳見:資料匯入資料遷移,現在瞭解有這個用法就可以了。

8. Django 專案環境終端

1 pythonmanage.pyshell

如果你安裝了 bpython 或 ipython 會自動用它們的介面,推薦安裝 bpython。

這個命令和 直接執行 python 或 bpython 進入 shell 的區別是:你可以在這個 shell 裡面呼叫當前專案的 models.py 中的 API,對於操作資料,還有一些小測試非常方便。

9. 資料庫命令列

1 pythonmanage.pydbshell

Django 會自動進入在settings.py中設定的資料庫,如果是 MySQL 或 postgreSQL,會要求輸入資料庫使用者密碼。

在這個終端可以執行資料庫的SQL語句。如果您對SQL比較熟悉,可能喜歡這種方式。

10. 更多命令

1 終端上輸入pythonmanage.py可以看到詳細的列表,在忘記子名稱的時候特別有用。