django-admin
是Django的用於管理任務的命令行實用程序,manage.py
和他功能相同,但它是django-admin
創建項目時爲每一個項目創建的管理程序
注意:
django-admin
和manage.py
雖然共有絕大部分命令,但是建議對項目操作時使用manage.py
,django-admin
在未設置環境變量DJANGO_SETTINGS_MODULE
或未在之前調用settings.configure()
的情況下會報錯
django-admin 和 manage.py 共有命令
命令 | 功能 |
---|---|
version | 查看當前Django版本 |
check | 檢查整個Django項目是否存在常見問題 |
compilemessages | 由makemessages 創建的.po 文件編譯爲.mo 文件,支持與內置的文字一起使用 |
createcachetable | 使用設置文件中的信息創建與數據庫緩存後端一起使用的緩存表 |
dbshell | 使用在USER ,PASSWORD 等設置中指定的連接參數,爲ENGINE 設置中指定的數據庫引擎運行命令行客戶端 |
diffsettings | 顯示當前設置文件和Django默認設置(或--default 指定的另一個設置文件)之間的差異 |
dumpdata | 將與應用程序名稱關聯的數據庫中的所有數據輸出到標準輸出 |
flush | 從數據庫中刪除所有數據,然後重新執行所有同步後處理程序。已應用的遷移不會被清除 |
inspectdb | 將Django模型模塊(models.py文件)輸出到標準輸出。 |
loaddata | 搜索指定的fixture(數據庫的序列化內容的文件的集合)並將其內容加載到數據庫中 |
makemessages | 在當前目錄的整個源代碼樹上運行,並拉取所有標記爲要翻譯的字符串。 |
makemigrations | 根據檢測到的模型更改或創建新遷移 |
migrate | 將數據庫狀態與當前模型和遷移集同步 |
runserver | 在本地計算機上啓動輕量級開發Web服務器 |
sendtestemail | 向指定的收件人發送測試電子郵件(以確認通過Django發送的電子郵件是否有效) |
shell | 啓動Python交互式解釋器 |
showmigrations | 顯示項目中的所有遷移 |
sqlflush | 打印將爲flush命令執行的SQL語句 |
sqlmigrate | 打印遷移名稱的SQL |
sqlsequencereset | 打印用於重設給定應用程序名稱的序列的SQL語句 |
squashmigrations | 如果可能的話,將app_label 的遷移(包括migration_name 在內)壓縮爲更小的遷移。 |
startapp | 在當前目錄或給定目錄中爲給定應用程序名稱創建Django應用程序目錄結構 |
startproject | 在當前目錄或給定目錄中爲給定項目名稱創建Django項目目錄結構 |
test | 對所有已安裝的應用程序運行測試 |
testserver | 使用來自給定fixture的數據運行Django開發服務器(與runserver一樣) |
提供給應用程序的命令
命令 | 功能 |
---|---|
changepassword | 更改用戶密碼 |
createsuperuser | 創建一個超級用戶帳戶(具有所有權限的用戶) |
remove_stale_contenttypes | 從數據庫中刪除過時的內容類型(從已刪除的模型中) |
clearsessions | 可以作爲計劃任務作業運行,也可以直接清除過期的會話。 |
collectstatic | 將靜態文件收集到中STATIC_ROOT |
findstatic | 使用已啓用的查找器搜索一個或多個相對路徑 |
常用命令
查看當前Django版本
django-admin version
使用系統檢查框架來檢查整個Django項目中的常見問題。
默認情況下,將檢查所有應用程序。
- 通過提供應用標籤列表作爲參數來檢查部分應用
py manage.py check auth admin myapp
- 限制檢查爲僅屬於特定類別的檢查
py manage.py check --tag models --tag compatibility
- 顯示用於限制檢測的標籤
py manage.py check --list-tags
admin
caches
database
models
staticfiles
templates
translation
urls
指定將在其中創建緩存表的數據庫
py manage.py createcachetable --database DATABASE
- 顯示當前設置文件和Django默認設置之間的差異
py manage.py diffsettings
- 顯示所有設置
py manage.py diffsettings --all
將與應用程序名稱關聯的數據庫中的所有數據輸出到標準輸出
如果未提供應用程序名稱,則所有安裝的應用程序將被輸出
- 輸出所有應用程序關聯的數據庫中的所有數據
py manage.py dumpdata
- 輸出所有指定應用程序關聯的數據庫中的所有數據
py manage.py dumpdata myapp
- 指定格式輸出
py manage.py dumpdata --format xml
支持的序列選項有 json(默認), xml, yaml
- 排除指定應用程序
py manage.py dumpdata --exclude=myapp1
- 將所有數據保存
py manage.py dumpdata myapp > myapp_dump.json
-
其他選項
--indent
輸出中使用的縮進空間的數量--database
指定轉儲數據的數據庫--natural-primary
省略此對象的序列化數據中的主鍵--pks PRIMARY_KEYS
僅輸出由逗號分隔的主鍵列表指定的對象--output, -o
指定要寫入序列化數據的文件
從數據庫中刪除所有數據。已應用的遷移不會被刪除。只刪除具體數據,不刪除數據表!
py manage.py flush
- inspectdb
根據數據庫中的表生成models文件
py manage.py inspectdb
加載數據到數據庫
py manage.py loaddata myapp_dump.json
- 對當前模型進行創建或更改遷移
py manage.py makemigrations
- 解決遷移衝突
py manage.py makemigrations --merge
- 對指定應用程序創建或更改遷移
py manage.py makemigrations myapp
- 將數據庫狀態與當前的模型和遷移集同步
py manage.py migrate
- 指定應用程序進行遷移同步
py manage.py migrate myapp
- 指定遷移文件進行同步
py manage.py migrate 0001
- 運行服務器
py manage.py runserver
默認 127.0.0.1:8000
- 使用IPv6開發服務器
py manage.py runserver -ipv6 或 django-admin runserver -6
默認 ::1:8000
- 使用指定指定端口
py manage.py runserver 7000
- 使用localhost
py manage.py runserver localhost:8000
- 啓動Python交互解釋器
py manage.py shell
- 指定shell啓動交互解釋器
py manage.py shell -i ipython 或 py manage.py shell -i bpython 或 py manage.py shell -i python
- 顯示項目中的所有遷移
py manage.py showmigrations
- 顯示指定應用程序的所有遷移
py manage.py showmigrations myapp
打印將對該flush 命令執行的SQL語句
py manage.py sqlflush
輸出指定應用程式遷移的SQL語句
py manage.py sqlmigrate myapp 0001
創建應用程序
py manage.py startapp myapp
- 在當前目錄創建項目
django-admin startproject dome
- 在指定目錄創建項目
django-admin startproject dome /Users/jairo/project/myproject
創建超級管理員賬戶
py manage.py createsuperuser
爲超級管理員賬戶修改密碼
py manage.py changepassword admin