8中請求方法前端
GET , POST ,HEAD ,PUT ,DELETE , TRACE ,OPTIONS ,CONNCTpython
狀態碼mysql
1xx ;服務器收到請求,進一步處理web
2xx :正常 200 oksql
3xx : 重定向數據庫
4xx : 請求錯誤 403 404django
5xx : 服務器錯誤服務器
本質:socket服務端session
功能:app
socket收發消息 wsgi wsgiref uwsgi
根據不一樣的路徑返回不一樣的內容
返回動態頁面(字符串的替換,模板的渲染jinja2)
Model(模型): 負責業務對象與數據庫的對象(ORM)
Template(模板) : 負責如何把頁面展現給用戶
View(視圖):負責業務邏輯,並在適當的時候調用Model和Template
此外Django還有一個urls分發器,它的做用是將一個個YRL的頁面請求分發給不一樣的view處理,view再調用相應的Model和Template
下載django
pip3 install django ==1.11.23 -i源地址
建立Django項目
django-admin startproject 項目名
代碼建立的項目沒有模板的存放文件夾,而pycharm中默認建立了.因此能夠經過os.mkdir(os.path.join(BASE_DIR,'templates'))建立該路徑,並在表單中的DIRS後的空列表添加拼接的路徑
啓動Django項目
python manage.py runserver 0.0.0.0:80
建立APP
一個Django項目能夠分爲多個APP,用來隔離不一樣功能模塊的代碼
python manage.py startapp app01
設計url ,有對應函數 ,完成函數
STATIC_URL = '/static/' # 別名
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
STATICFILES_DIRS = [ #按照列表的順序進行查找
os.path.join(BASE_DIR, 'x1'),
os.path.join(BASE_DIR, 'static'),
os.path.join(BASE_DIR, 'x2')
]
form表單
action 提交的地址 method post
input 須要有name
submit 提交的按鈕或者input
目前提交post請求,註釋一個csrf 中間件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
`前端模板 http://www.jq22.com
新建APP
python manage.py startapp app名稱
註冊APP
在settings中
INSTALLED_APPS = [
'app01',
'app01.apps.App01Config', # 推薦寫法
]
目錄
admin.py django admin
apps.py app的信息
models.py 模型 model 跟數據庫有關
views.py 寫函數
使用mysql數據庫的流程
在settings中配置數據庫:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 引擎
'NAME': 'day53', # 數據庫名稱
'HOST': '127.0.0.1', # IP
'PORT': 3306, # 端口號
'USER': 'root', # 用戶名
'PASSWORD': '123' # 密碼
}
}
使用pymysql模塊鏈接mysql數據庫。
寫在與settings同級目錄下的init.py中
import pymysql
pymysql.install_as_MySQLdb()
寫對應關係,在app下的models.py中寫類。
class User(models.Model):
username = models.CharField(max_length=32) # username varchar(32)
password = models.CharField(max_length=32) # password varchar(32)
執行數據庫遷移的命令
python manage.py makemigrations # 記錄下models.py的變動記錄
python manage.py migrate # 變動記錄同步到數據庫