Django 基本命令

1.新建一個(gè) django project

django-admin.py startproject project_name
特別是在 windows 上,如果報(bào)錯(cuò),嘗試用 django-admin 代替 django-admin.py 試試

注意 project_name 是自己的項(xiàng)目名稱,需要為合法的 Python 包名,如不能為 1a 或 a-b。

2. 新建 app

要先進(jìn)入項(xiàng)目目錄下,cd project_name 然后執(zhí)行下面的命令(下同,已經(jīng)在項(xiàng)目目錄下則不需要 cd project_name)

python manage.py startapp app_name
或 django-admin.py startapp app_name

一般一個(gè)項(xiàng)目有多個(gè)app, 當(dāng)然通用的app也可以在多個(gè)項(xiàng)目中使用。

與項(xiàng)目名類似 app name 也需要為合法的 Python 包名,如 blog,news, aboutus 等都是合法的 app 名稱。

3. 創(chuàng)建數(shù)據(jù)庫表 或 更改數(shù)據(jù)庫表或字段

Django 1.7.1及以上 用以下命令
# 1. 創(chuàng)建更改的文件
python manage.py makemigrations
# 2. 將生成的py文件應(yīng)用到數(shù)據(jù)庫
python manage.py migrate
 
 
舊版本的Django 1.6及以下用
python manage.py syncdb

這種方法可以在SQL等數(shù)據(jù)庫中創(chuàng)建與models.py代碼對(duì)應(yīng)的表,不需要自己手動(dòng)執(zhí)行SQL。

備注:對(duì)已有的 models 進(jìn)行修改,Django 1.7之前的版本的Django都是無法自動(dòng)更改表結(jié)構(gòu)的,不過有第三方工具 south,詳見 Django 數(shù)據(jù)庫遷移 一節(jié)。

4. 使用開發(fā)服務(wù)器

運(yùn)行開發(fā)服務(wù)器
python manage.py runserver
重新啟動(dòng)服務(wù)器(一般在添加文件后重新啟動(dòng))
Automatic reloading of runserver

# 當(dāng)提示端口被占用的時(shí)候,可以用其它端口:
python manage.py runserver 8001
python manage.py runserver 9999
(當(dāng)然也可以kill掉占用端口的進(jìn)程,具體后面有講,此處想知道的同學(xué)可查下 lsof 命令用法)
 
# 監(jiān)聽機(jī)器所有可用 ip (電腦可能有多個(gè)內(nèi)網(wǎng)ip或多個(gè)外網(wǎng)ip)
python manage.py runserver 0.0.0.0:8000
# 如果是外網(wǎng)或者局域網(wǎng)電腦上可以用其它電腦查看開發(fā)服務(wù)器
# 訪問對(duì)應(yīng)的 ip加端口,比如 http://172.16.20.2:8000

5. 清空數(shù)據(jù)庫

python manage.py flush

此命令會(huì)詢問是 yes 還是 no, 選擇 yes 會(huì)把數(shù)據(jù)全部清空掉,只留下空表。

6. 創(chuàng)建超級(jí)管理員

python manage.py createsuperuser
 
# 按照提示輸入用戶名和對(duì)應(yīng)的密碼就好了郵箱可以留空,用戶名和密碼必填
 
# 修改 用戶密碼可以用:
python manage.py changepassword username

7. 導(dǎo)出數(shù)據(jù) 導(dǎo)入數(shù)據(jù)

python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json

關(guān)于數(shù)據(jù)操作 詳見:數(shù)據(jù)導(dǎo)入數(shù)據(jù)遷移,現(xiàn)在了解有這個(gè)用法就可以了。

8. Django 項(xiàng)目環(huán)境終端

python manage.py shell

如果你安裝了 bpython 或 ipython 會(huì)自動(dòng)用它們的界面,推薦安裝 bpython。

這個(gè)命令和 直接運(yùn)行 python 或 bpython 進(jìn)入 shell 的區(qū)別是:你可以在這個(gè) shell 里面調(diào)用當(dāng)前項(xiàng)目的 models.py 中的 API,對(duì)于操作數(shù)據(jù),還有一些小測(cè)試非常方便。

9. 數(shù)據(jù)庫命令行

python manage.py dbshell

Django 會(huì)自動(dòng)進(jìn)入在settings.py中設(shè)置的數(shù)據(jù)庫,如果是 MySQL 或 postgreSQL,會(huì)要求輸入數(shù)據(jù)庫用戶密碼。

在這個(gè)終端可以執(zhí)行數(shù)據(jù)庫的SQL語句。如果您對(duì)SQL比較熟悉,可能喜歡這種方式。

10. 更多命令

終端上輸入 python manage.py
~~~可以看到詳細(xì)的列表,在忘記子名稱的時(shí)候特別有用
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容