1. 程式人生 > >Python之Django基本命令

Python之Django基本命令

ecif 文件 collect 設置 word about 生產 操作數 建數據庫

一、新建項目

$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也可以在多個項目中使用。

與項目名類似app name也需要為合法的Python 包名,如blog,news,aboutus等都是合法的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基本命令