MVC,全名是Model View Controller,是軟件工程中的一種軟件架構模式,把軟件系統分爲三個基本部分:模型(Model)、視圖(View)和控制器(Controller),具備耦合性低、重用性高、生命週期成本低等優勢。css
Django框架的設計模式借鑑了MVC框架的思想,也是分紅三部分,來下降各個部分之間的耦合性。html
Django框架的不一樣之處在於它拆分的三部分爲:Model(模型)、Template(模板)和View(視圖),也就是MTV框架。python
模型: 負責業務對象與數據庫的映射(ORM),視圖: 負責與用戶的交互(頁面),控制器: 接受用戶的輸入調用模型和視圖完成用戶的請求web
Model(模型):負責業務對象與數據庫的對象(ORM)數據庫
Template(模版):負責如何把頁面展現給用戶(html)django
View(視圖):負責業務邏輯,並在適當的時候調用Model和Templatebootstrap
此外,Django還有一個urls分發器,它的做用是將一個個URL的頁面請求分發給不一樣的view處理,view再調用相應的Model和Template設計模式
# 2、Django下載安裝與使用注意事項架構
1.安裝djangomvc
pip3 install django==1.11.11
2.建立django項目
在cmd命令行下建立一個名爲mysite的Django項目
django-admin startproject mysite
3.目錄介紹
mysite ├── manage.py # Django入口管理文件 └── templates # 存放html文件 └── mysite # 項目目錄 ├── __init__.py ├── settings.py # 配置 ├── urls.py # 路由 --> URL和函數的對應關係 └── wsgi.py # runserver命令就使用wsgiref模塊作簡單的web server
4.模板文件配置
使用命令行建立django項目 不會自動幫你建立templates文件夾, 只能本身建立
在.settings文件中 須要你手動在TEMPLATES的DIRS寫配置
[os.path.join(BASE_DIR, 'templates')]
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], # templates 文件夾位置 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
5.啓動django項目
python manage.py runserver
當咱們訪問:http://127.0.0.1:8080/時就能夠看到圖下,即表明成功
6.建立應用app01
python manage.py startapp app01
在pycharm建立app
在輸入框直接輸入如下命令便可建立一個名爲app02的APP
7.app應用目錄:
└── app01 # 項目目錄 ├── migrations文件夾 # 存放數據庫遷移記錄 ├── __init__.py ├── admin.py # django後臺管理 └── apps.py # 註冊相關 └── models.py # 模型類 └── tests.py # 測試文件 └── views.py # 存放視圖函數
注意:若是是在命令行下建立app後,須要你去settings配置文件中註冊添加app名字。這樣django項目才能識別到你這個app
8.靜態文件配置:
什麼是靜態文件?
靜態文件就是在打開網頁時所用到的 圖片、 js、css以及第三方的框架bootstrap、fontawesome、sweetalert
一般狀況下 網站所用到的靜態文件資源 統一都放在static文件夾下,爲了方便識別
STATIC_URL = '/static/' # 是訪問靜態資源的接口前綴,並非存放靜態文件的文件夾 """只要你想訪問靜態資源 你就必須以static開頭""" # 手動在settings最底下添加配置靜態文件訪問資源 # 下面都是存放靜態文件的文件夾的路徑 # 從上往下找靜態文件,找不到就報錯 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), os.path.join(BASE_DIR,'static1'), os.path.join(BASE_DIR,'static2'), ]
圖解:
9.禁用中間件:
前期爲了方便表單提交測試。在settings配置文件中暫時禁用csrf中間件
10.重定向:
重定向的意思就是,我訪問的連接不是我剛剛輸入的那個連接,而是我一輸入他就跳轉到了另一個連接,這就是重定向
最後注意事項:
1.計算機的名稱不能有中文
2.一個pycharm窗口就是一個項目
3.項目名裏面儘可能不要用中文
django版本問題
1.X 2.X 如今市面上用的比較多的仍是1.X
推薦使用1.11.9~1.11.13
django安裝
pip3 install django==1.11.11
如何驗證django是否安裝成功
命令行直接敲django-admin
一個django項目就相似因而一所大學,而app就相似於大學裏面的學院
django其實就是用來一個個應用的
一個app就至關於一塊獨立的功能
用戶功能
管理功能
.........
django支持任意多個app