內容回顧python
1.HTTP協議mysql
1.請求方式:8種 GET / POSTweb
2.狀態碼sql
1xx數據庫
2xx 200 okdjango
3xx 重定向 301 302 flask
4xx 請求的錯誤瀏覽器
5xx 服務器的錯誤服務器
3.urlsession
協議 域名 路由 參數
4.格式
請求(request ---瀏覽器給服務端發的細信息)
'請求方式URL HTTP/1.1\r\n
k1:v1\r\n
k2:v2\r\n
\r\n
請求體(請求數據)' get 請求沒有請求體
響應(reponse---服務端給瀏覽器發送的消息)
'HTTP/1.1狀態碼 狀態描述\r\n
k1:v1\r\n
k2:v2\r\n
\r\n
響應數據(響應體)' ---- >HTML文本
2.瀏覽器發送請求接受響應的流程
1.在瀏覽器的地址中輸入URL,回車,發送了一個GET請求
2.服務器接受請求,獲取到路徑,根據不一樣的路徑返回不一樣的內容
3.服務器把響應的內容組成符合HTTP協議響應格式的字符串返回給瀏覽器
4.瀏覽器接受到響應,拿到響應體(HTML代碼),進行渲染
3.web框架(socket服務端)
功能:
1.socket收發消息
2.根據不一樣的路徑返回不一樣的內容
3.動態頁面(字符串替換 --- 模板的渲染)
4.分類
django : 2 3 生產 wsgiref 上線 uwsgi
flask: 2
tornado: 1 2 3
5.django
1.下載安裝
命令行:pip install django==1.11.18 -i 源
pycharm
2.建立項目
命令行: django-admin startproject 項目名
pycharm
3.啓動
命令行:
切換達到項目目錄下: manage.py
python manage.py runserver # 127.0.0.1:8000
python manage.py runserver 80 # 127.0.0.1:80
python manage.py runserver 0.0.0.0:80 # 0.0.0.0:80
今日內容
1.寫一個完整的登陸實例
靜態文件的配置
STATIC_URL = '/static/' # 別名
STATICFILES_DIRS = [
os.path.join(BASE_DIR , 'static')
]
2. form 表單:
1.form標籤有 action=""
method= "post"
novalidate 不須要驗證
2. input標籤要有name屬性
3.須要有一個type=submit的input標籤或者button按鈕
目前看有提交post請求
在settings.py中註釋MIDDLEWARE中的
django.middleware.csrfViewMiddleware
request.method # 請求方式 POST / GET
request.POST # form表單提交POST請求的數據,相似字典
return redirect('https://baidu.com')
return redirect("/index/") # 響應頭 Location:/index/
get和post區別
get獲取一個頁面
django中獲取數據 :request.GET
post:提交數據
數據不可見
django中獲取數據:request.POST
2.APP
命令行: python manage.py startapp app名稱
pycharm:
tools --->run manage.py task ------> startapp app名稱
註冊APP
# 註冊APP INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01', 'app01.apps.App01Config' # 推薦寫法 ]
3.ORM的介紹和使用
1.django項目中使用mysql數據庫的流程:
1.建立數據庫
create database 數據庫的名字
2.配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 引擎 'NAME': 'day60', # 數據庫名字 'HOST': '127.0.0.1', # IP 'PORT': 3306, # 端口 'USER': 'root', # 用戶名 'PASSWORD': '123', # 密碼 } }
3.告訴django使用pymysql這個模塊鏈接數據庫
在settings.py同級目錄下的init中寫代碼
import pymysql pymysql.install_as_MySQLdb()
4.建立表(在app下的models.py中寫類)
from django.db import models class User(models.Model): username = model.CharField(max_length=20) password = models.CharField(max_length=20)
5.執行數據庫遷移的命令
python manage.py makemigrations # 保存models.py的變動記錄 python manage.py migrate # 把變動記錄同步到數據庫中
2.ORM操做
# 獲取表中的全部數據 對象列表 ret = models.User.object.all() for i in ret : print(i.username,i.password,type(i.username)) #字段 #獲取一條數據 ret = models.User.object.get(username="alex") # 對象 get 查不到會報錯 查到多個也會報錯 # 獲取知足條件的多個數據,對象列表 ret = models.User.object.filter(password='123')