
## Django框架介紹
Django也遵循MVC思想,但是有自己的一個名詞,叫做MVT
Django,發音為[`d???ɡ??],Django誕生于2003年秋天,2005年發布正式版本,由Simon和Andrian開發。
### Django版本和Python版本
https://docs.djangoproject.com/zh-hans/2.1/faq/

### Django開發原則
快速開發和DRY原則。Do not repeat yourself.不要自己去重復一些工作。
**官網手冊介紹**
```
Django的官網:https://www.djangoproject.com/
Django Book2.0版本的中文文檔:http://djangobook.py3k.cn/2.0/chapter01/
```
## Django項目創建
### 1.用命令行的方式
```
創建項目:打開終端,使用命令:django-admin startproject [項目名稱]
比如:django-admin startproject first_project。
```
### 2.用pycharm的方式
如果pycharm是專業版的話,可以用pycharm安裝Django

### 運行Django項目
- 通過命令行的方式:python manage.py runserver。這樣可以在本地訪問你的網站,默認端口號是8000,這樣就可以在瀏覽器中通過http://127.0.0.1:8000/來訪問你的網站啦。如果想要修改端口號,那么在運行的時候可以指定端口號,python manage.py runserver 9000這樣就可以通過9000端口來訪問啦。
- 通過pycharm運行Django項目,在edit configurations中設置
### 項目結構介紹
manage.py:以后和項目交互基本上都是基于這個文件。一般都是在終端輸入python manage.py [子命令]。可以輸入python manage.py help看下能做什么事情。除非你知道你自己在做什么,一般情況下不應該編輯這個文件。
settings.py:本項目的設置項,以后所有和項目相關的配置都是放在這個里面。
urls.py:這個文件是用來配置URL路由的。比如訪問http://127.0.0.1/news/是訪問新聞列表頁,這些東西就需要在這個文件中完成。
wsgi.py:項目與WSGI協議兼容的web服務器入口,部署的時候需要用到的,一般情況下也是不需要修改的。
### project和app的關系
app是django項目的組成部分。一個app代表項目中的一個模塊,所有URL請求的響應都是由app來處理。比如豆瓣,里面有圖書,電影,音樂,同城等許許多多的模塊,如果站在django的角度來看,圖書,電影這些模塊就是app,圖書,電影這些app共同組成豆瓣這個項目。因此這里要有一個概念,django項目由許多app組成,一個app可以被用到其他項目,django也能擁有不同的app。
#### 創建app
```
python manage.py startapp [app名稱]
```
### app中的文件
```
__init__.py 說明目錄是一個Python模塊
models.py 寫和數據庫相關的內容
views.py 接收請求,處理數據 與M和T進行交互
tests.py 寫測試代碼的文件(暫時不需要關心)
admin.py 網站后臺管理相關的
```
### 應用注冊
建立應用和項目之間的聯系,需要對應用進行注冊。
修改settings.py中的INSTALLED_APPS配置項。
## Django初體驗
```
from django.http import HttpResponse
from book.views import book
from move.views import move
def index(request):
return HttpResponse("首頁")
def book(request):
return HttpResponse("圖書首頁")
def move(request):
return HttpResponse("電影首頁")
urlpatterns = [
path('admin/', admin.site.urls),
path('',index),
path("book",book),
path("move",move)
]
```
### DEBUG模式
- 開啟了debug模式,那么修改代碼,然后按下ctrl+s,那么Django會自動重啟項目
- Django項目中代碼出現了問題,在瀏覽器中和控制臺中會打印錯誤信息
- 如果項目上線了,關閉debug模式,不然有很大的安全隱患
- 關閉DEBUG模式,在setting文件中,將DEBUG = False
- 空白目錄
- 1-Django前導知識
- 1-1-虛擬環境
- 1-2-Django框架介紹與環境搭建
- 2-URL與視圖
- 2-1-URL與視圖
- 3-模板
- 3-1-模板介紹
- 3-2-模板變量
- 3-3-常用標簽
- 3-4-模板常用過濾器
- 3-5-模板結構優化
- 3-6-加載靜態文件
- 4-數據庫
- 4-1-操作數據庫
- 4-2-圖書管理系統
- 4-3-ORM模型介紹
- 4-4-ORM模型的增刪改查
- 4-5-模型常用屬性
- 4-6-外鍵和表
- 4-7-查詢操作
- 4-8-QuerySet的方法
- 4-9-ORM模型練習
- 4-10-ORM模型遷移
- 5-視圖高級
- 1-Django限制請求method
- 2-頁面重定向
- 3-HttpRequest對象
- 4-HttpResponse對象
- 5-類視圖
- 6-錯誤處理
- 6-表單
- 1-用表單驗證數據
- 2-ModelForm
- 3-文件上傳
- 7-session和cookie
- 1-session和cookie
- 8-memcached
- 1-memcached
- 9-阿里云部署
- 阿里云部署