Django django-admin 和 manage.py 命令的使用

django-admin是Django的用於管理任務的命令行實用程序,manage.py和他功能相同,但它是django-admin創建項目時爲每一個項目創建的管理程序

注意: django-adminmanage.py 雖然共有絕大部分命令,但是建議對項目操作時使用 manage.pydjango-admin 在未設置環境變量 DJANGO_SETTINGS_MODULE 或未在之前調用 settings.configure() 的情況下會報錯

django-admin 和 manage.py 共有命令

命令 功能
version 查看當前Django版本
check 檢查整個Django項目是否存在常見問題
compilemessages makemessages創建的.po文件編譯爲.mo文件,支持與內置的文字一起使用
createcachetable 使用設置文件中的信息創建與數據庫緩存後端一起使用的緩存表
dbshell 使用在USERPASSWORD等設置中指定的連接參數,爲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 使用已啓用的查找器搜索一個或多個相對路徑

常用命令

  • version

查看當前Django版本

django-admin version
  • check

使用系統檢查框架來檢查整個Django項目中的常見問題。

默認情況下,將檢查所有應用程序。

  1. 通過提供應用標籤列表作爲參數來檢查部分應用
py manage.py check auth admin myapp
  1. 限制檢查爲僅屬於特定類別的檢查
py manage.py check --tag models --tag compatibility
  1. 顯示用於限制檢測的標籤
py manage.py check --list-tags

admin
caches
database
models
staticfiles
templates
translation
urls

  • createcachetable

指定將在其中創建緩存表的數據庫

py manage.py createcachetable --database DATABASE
  • diffsettings

  1. 顯示當前設置文件和Django默認設置之間的差異
py manage.py diffsettings
  1. 顯示所有設置
py manage.py diffsettings --all
  • dumpdata

將與應用程序名稱關聯的數據庫中的所有數據輸出到標準輸出

如果未提供應用程序名稱,則所有安裝的應用程序將被輸出

  1. 輸出所有應用程序關聯的數據庫中的所有數據
py manage.py dumpdata
  1. 輸出所有指定應用程序關聯的數據庫中的所有數據
py manage.py dumpdata myapp
  1. 指定格式輸出
py manage.py dumpdata --format xml

支持的序列選項有 json(默認), xml, yaml

  1. 排除指定應用程序
py manage.py dumpdata --exclude=myapp1
  1. 將所有數據保存
py manage.py dumpdata myapp > myapp_dump.json
  1. 其他選項

    --indent 輸出中使用的縮進空間的數量

    --database 指定轉儲數據的數據庫

    --natural-primary 省略此對象的序列化數據中的主鍵

    --pks PRIMARY_KEYS 僅輸出由逗號分隔的主鍵列表指定的對象

    --output, -o 指定要寫入序列化數據的文件

  • flush

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

py manage.py flush
  • inspectdb

根據數據庫中的表生成models文件

py manage.py inspectdb
  • loaddata

加載數據到數據庫

py manage.py loaddata myapp_dump.json
  • makemigrations

  1. 對當前模型進行創建或更改遷移
py manage.py makemigrations
  1. 解決遷移衝突
py manage.py makemigrations --merge
  1. 對指定應用程序創建或更改遷移
py manage.py makemigrations myapp
  • migrate

  1. 將數據庫狀態與當前的模型和遷移集同步
py manage.py migrate
  1. 指定應用程序進行遷移同步
py manage.py migrate myapp
  1. 指定遷移文件進行同步
py manage.py migrate 0001
  • runserver

  1. 運行服務器
py manage.py runserver

默認 127.0.0.1:8000

  1. 使用IPv6開發服務器
py manage.py runserver -ipv6 或 django-admin runserver -6

默認 ::1:8000

  1. 使用指定指定端口
py manage.py runserver 7000
  1. 使用localhost
py manage.py runserver localhost:8000
  • shell

  1. 啓動Python交互解釋器
py manage.py shell
  1. 指定shell啓動交互解釋器
py manage.py shell -i ipython 或 py manage.py shell -i bpython 或 py manage.py shell -i python
  • showmigrations

  1. 顯示項目中的所有遷移
py manage.py showmigrations
  1. 顯示指定應用程序的所有遷移
py manage.py showmigrations myapp
  • sqlflush

打印將對該flush 命令執行的SQL語句

py manage.py sqlflush
  • sqlmigrate

輸出指定應用程式遷移的SQL語句

py manage.py sqlmigrate myapp 0001
  • startapp

創建應用程序

py manage.py startapp myapp
  • startproject

  1. 在當前目錄創建項目
django-admin startproject dome
  1. 在指定目錄創建項目
django-admin startproject dome /Users/jairo/project/myproject
  • createsuperuser

創建超級管理員賬戶

py manage.py createsuperuser
  • changepassword

爲超級管理員賬戶修改密碼

py manage.py changepassword admin
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章