Django 特點
強大的資料庫功能
用python的類繼承,幾行代碼就可以擁有一個豐富,動态的資料庫操作接口(API),如果需要你也能執行SQL語句
自帶的強大的背景功能
幾行簡單的代碼就讓你的網站擁有一個強大的背景,輕松管理你的内容!
優雅的網址
用正則比對網址,傳遞到對應函數,随意定義,如你所想!
模闆系統
強大,易擴充的模闆系統,設計簡易,代碼,樣式分開設計,更容易管理。
緩存系統
與memcached或其它的緩存系統聯用,更出色的表現,更快的加載速度。
國際化
完全支援多語言應用,允許你定義翻譯的字元,輕松翻譯成不同國家的語言。
Django 全貌一覽
urls.py
網址入口,關聯到對應的views.py中的一個函數(或者generic類),通路網址就對應一個函數。
views.py
處理使用者發出的請求,從urls.py中對應過來, 通過渲染templates中的網頁可以将顯示内容,比如登陸後的使用者名,使用者請求的資料,輸出到網頁。
models.py
與資料庫操作相關,存入或讀取資料時用到這個,當然用不到資料庫的時候 你可以不使用。
forms.py
表單,使用者在浏覽器上輸入資料送出,對資料的驗證工作以及輸入框的生成等工作,當然你也可以不使用。
templates 檔案夾
views.py 中的函數渲染templates中的Html模闆,得到動态内容的網頁,當然可以用緩存來提高速度。
admin.py
背景,可以用很少量的代碼就擁有一個強大的背景。
settings.py
Django 的設定,配置檔案,比如 DEBUG 的開關,靜态檔案的位置等。
Django 基本指令
建立 項目
$ django-admin startproject mysite
建立 app
$ python manage.py startapp blog
一般一個項目有多個app, 當然通用的app也可以在多個項目中使用。
同步資料庫
$ python manage.py migrate
使用開發伺服器
$ python manage.py runserver [port]
清空資料庫
$ python manage.py flush
建立超級管理者
$ python manage.py createsuperuser
導出資料
$ python manage.py dumpdata blog > blog.json
導入資料
$ python manage.py loaddata blog.json
項目環境終端
$ python manage.py shell
資料庫指令行
$ python manage.py dbshell
檢視更多指令
$ python manage.py
建立一個簡單例子的流程
環境:windows7 + python3.4 + django1.8
====> Creating a project
$ django-admin startproject mysite
$ cd mysite
====> Database setup
$ edit mysite\settings.py
$ python manage.py migrate
====> The development server (http://127.0.0.1:800)
$ python manage.py runserver
====> Creating models
$ python manage.py startapp polls
$ edit polls\models.py
====> Activating models
$ python manage.py makemigrations polls
$ python manage.py sqlmigrate polls 0001
【Remember the three-step guide to making model changes:
Change your models (in models.py).
Run python manage.py makemigrations to create migrations for those changes
Run python manage.py migrate to apply those changes to the database.】
====> Playing with the API
$ python manage.py shell
====> Change models.py
====> Play the API again