內容:css
1.web預備知識html
2.django介紹python
3.web框架的本質及分類mysql
4.django安裝與基本設置web
1.web預備知識正則表達式
HTTP協議:http://www.javashuo.com/article/p-shmfswju-y.htmlsql
關於web的本質:http://www.cnblogs.com/wyb666/p/9034042.html數據庫
如何自定義web框架:http://www.cnblogs.com/wyb666/p/9038644.htmldjango
瞭解cookie和session:http://www.javashuo.com/article/p-ceqcahvy-ba.html瀏覽器
2.django介紹
(1)django介紹
Python的WEB框架有Django、Tornado、Flask 等多種,Django相較與其餘WEB框架其優點爲:大而全,框架自己集成了ORM、模型綁定、模板引擎、緩存、Session等諸多功能。在Python各類web框架中,Django的文檔最完善、市場佔有率最高、招聘職位最多!
(2)MVC和MTV
MVC是衆所周知的模式,即:將應用程序分解成三個組成部分:model(模型),view(視圖),和 controller(控制 器)。其中:
Django也是一個MVC框架。可是在Django中,控制器接受用戶輸入的部分由框架自行處理,因此 Django 裏更關注的是模型(Model)、模板(Template)和視圖(Views),稱爲 MTV模式:
(3)django的優缺點
優勢:
缺點(源自Django堅持本身造全部的輪子,整個系統相對封閉):
Django大包大攬,用它來快速開發一些Web運用是很不錯的。若是你順着Django的設計哲學來,你會以爲Django很好用,越用越爽;相反,你若是不能融入或接受Django的設計哲學,你用Django必定會很痛苦,趁早放棄的好
(4)django的組件
Django框架的核心包括:一個 面向對象的映射器,用做數據模型和關聯性數據庫間的媒介(ORM);一個基於正則表達式的URL分發器;一個視圖系統,用於處理請求;以及一個模板系統
核心框架中還包括:
另外Django 包含了不少應用在它的"contrib"包中,這些包括:
3.web框架的本質及分類
(1)web框架的本質:socket服務端 與 瀏覽器的通訊
(2)socket服務端功能劃分
(3)Python中 Web框架的分類
按上面三個功能劃分:
按另外一個維度來劃分:
4.django安裝與基本設置使用
(1)django版本
如今主流的版本以下:
帶有LTS代表是長期支持的版本
(2)本人使用版本
本人選擇使用1.11
安裝:可直接使用以下命令安裝
1 pip3 install django==1.11.11
(3)建立django項目
(4)設置django項目(settings.py)
配置HTML文件存放的位置:
1 // settings.py中的TEMPLATES是用來配置項目模板文件(HTML)的路徑 2 TEMPLATES = [ 3 { 4 'BACKEND': 'django.template.backends.django.DjangoTemplates', 5 'DIRS': [os.path.join(BASE_DIR, 'templates')], 6 'APP_DIRS': True, 7 'OPTIONS': { 8 'context_processors': [ 9 'django.template.context_processors.debug', 10 'django.template.context_processors.request', 11 'django.contrib.auth.context_processors.auth', 12 'django.contrib.messages.context_processors.messages', 13 ], 14 }, 15 }, 16 ]
配置靜態文件存放的位置:
1 // 在setting.py中最下面寫上這兩條 配置靜態文件目錄 2 // 靜態文件 -> css js 圖片 3 STATIC_URL = '/static/' 4 STATICFILES_DIRS = ( 5 os.path.join(BASE_DIR, 'static'), 6 )
修改django默認的語言:
1 # 將默認的英文改爲中文 2 LANGUAGE_CODE = 'zh-hans'
將csrf規則註釋:
1 註釋settings.py的middlerware中的如下內容(csrf): 2 # 'django.middleware.csrf.CsrfViewMiddleware',
(5)運行django項目
1 Django項目的啓動: 2 1. 命令行啓動 3 在項目的根目錄下(也就是有manage.py的那個目錄),運行: 4 python3 manage.py runserver IP:端口--> 在指定的IP和端口啓動 5 python3 manage.py runserver 端口 --> 在指定的端口啓動 6 python3 manage.py runserver --> 默認在本機的8000端口啓動 7 8 2. PyCharm啓動 9 點綠色的小三角,直接能夠啓動Django項目(前提是小三角左邊是你的Django項目名)
(6)建立app
1 # django中的APP是什麼: 2 整個project -> 一個大學(武漢大學) 3 一個APP -> 某個學院(計算機學院/金融學院/管理學院、、、) 4 5 APP能夠方便咱們在一個大的Django項目中,管理實現不一樣的業務功能 6 7 建立APP的命令 8 命令行 - 在Django項目的根目錄輸入: 9 python3 manage.py startapp app的名字
如下是建立APP的實例:
執行以上命令後文件夾以下:
最後要在settings.py中設置一下:
另外也能夠在建立pycharm項目時隨手建立一個APP:
(7)數據庫配置
在Django項目中的settings.py中設置鏈接數據庫的相關配置(告訴Django鏈接哪個數據庫):
1 # Database 2 # https://docs.djangoproject.com/en/1.11/ref/settings/#databases 3 4 # 默認使用sqlite數據庫 5 # DATABASES = { 6 # 'default': { 7 # 'ENGINE': 'django.db.backends.sqlite3', 8 # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 9 # } 10 # } 11 12 # 數據庫相關配置: 13 DATABASES = { 14 'default': { 15 'ENGINE': 'django.db.backends.mysql', # 鏈接的數據庫類型 16 'HOST': '127.0.0.1', # 鏈接數據庫的地址 17 'PORT': 3306, # 端口 18 'NAME': "django", # 數據庫名稱 19 'USER': 'root', # 用戶 20 'PASSWORD': 'root' # 密碼 21 } 22 }
若是要使用pymysql鏈接MySQL數據庫,就要進行以下設置:
告訴Django用pymysql代替默認的MySQLDB 鏈接MySQL數據庫,在項目/__init__.py文件中,寫下面兩句:
1 import pymysql
2 # 告訴Django用pymysql來代替默認的MySQLdb
3 pymysql.install_as_MySQLdb()