Python之Django基本命令
阿新 • • 發佈:2018-07-14
ecif 文件 collect 設置 word about 生產 操作數 建數據庫
與項目名類似app name也需要為合法的Python 包名,如blog,news,aboutus等都是合法的app名稱;
一、新建項目
$django-admin.py startproject project_name
# 特別是在 windows 上,如果報錯,嘗試用 django-admin 代替 django-admin.py 試試
註意 project_name 是自己的項目名稱,需要為合法的 Python 包名,如不能為 1a 或 a-b。
二、新建APP
要先進入項目目錄下,cd project_name 然後執行下面的命令;
$ python manage.py startapp app_name
或 django-admin.py startapp app_name
一般一個項目有多個app,當然通用的app也可以在多個項目中使用。
三、創建數據庫表或更改數據表或字段
Django 1.7.1及以上 用以下命令
# 1. 創建更改的文件
$python manage.py makemigrations
# 2. 將生成的py文件應用到數據庫
$python manage.py migrate
舊版本的Django 1.6及以下用
$python manage.py syncdb
這種方法可以在SQL等數據庫中創建與models.py代碼對應的表,不需要自己手動執行SQL
四、使用開發服務器
開發服務器,即開發時使用,一般修改代碼後會自動重啟,方便調試和開發,但是由於性能問題,建議只用來測試,不要用在生產環境。
$python manage.py runserver # 當提示端口被占用的時候,可以用其它端口: $python manage.py runserver 8001 $python manage.py runserver 9999 (當然也可以kill掉占用端口的進程,具體後面有講,此處想知道的同學可查下 lsof 命令用法) # 監聽機器所有可用 ip (電腦可能有多個內網ip或多個外網ip) $python manage.py runserver 0.0.0.0:8000 # 如果是外網或者局域網電腦上可以用其它電腦查看開發服務器 # 訪問對應的 ip加端口,比如 http://172.16.20.2:8000
五、清空數據庫
$python manage.py flush
此命令會詢問是yes or no,選擇yes會把數據全部清空掉,只留下空表
六、創建超級管理員
$python manage.py createsuperuser
# 按照提示輸入用戶名和對應的密碼就好了郵箱可以留空,用戶名密碼必填
# 修改 用戶密碼可以用:
$python manage.py changepassword username
七、導出數據,導入數據
$python manage.py dumpdata appname > appname.json
$python manage.py loaddata appname.json
八、Django 項目環境終端
$python manage.py shell
如果你安裝了 bpython 或 ipython 會自動用它們的界面,推薦安裝 bpython。
這個命令和 直接運行 python 或 bpython 進入 shell 的區別是:你可以在這個 shell 裏面調用當前項目的 models.py 中的 API,對於操作數據,還有一些小測試非常方便。
九、數據庫命令行
$python manage.py dbshell
Django 會自動進入在settings.py中設置的數據庫,如果是 MySQL 或 postgreSQL,會要求輸入數據庫用戶密碼。
在這個終端可以執行數據庫的SQL語句。如果您對SQL比較熟悉,可能喜歡這種方式。
十、更多命令
? mysite python3.6 manage.py
Type 'manage.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
[auth]
changepassword
createsuperuser
[contenttypes]
remove_stale_contenttypes
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
[sessions]
clearsessions
[staticfiles]
collectstatic
findstatic
runserver
Python之Django基本命令