第四十四天
1 web應用
2 cs和bs架構
3 http協議----重點 -
-請求頭:
請求首行 get / http/1.1\r\n
key:value\r\n
key:value\r\n
\r\n
請求體的內容
-響應頭: 響應首行 http/1.1 200 ok \r\n
響應頭: key:value\r\n
\r\n
響應體: html的程式碼 -狀態碼: 1開頭 2開頭 3開頭 4開頭 5開頭
4 python中主流web框架
a socke b 路由和檢視函式對映關係 c 模板的渲染
django uwsgi/wsgiref
flask
tornado web2.py
5 django的安裝與使用
1 pip3 install django==1.11.9
2 django-admin startproject 專案名字
3 切到專案裡python3 mangage.py startapp app的名字
4 pycharm開啟專案,啟動專案,點綠色三角
5 執行專案:python3 manage.py runserver 127.0.0.1:8006 python3 manage.py runserver 8006 python3 manage.py runserver
6 目錄結構:
1 工程名的資料夾:settings:全域性配置
urls:路由根檢視函式對映關係
app名字的資料夾:views:檢視函式
models:orm關係對映
今天內容:
1 django中app的概念: 大學:----------------- 專案 資訊學院 ----------app01 物理學院-----------app02
****強調***:建立了app,要在配置檔案中註冊 ...
2 模板路徑配置:
1 templates資料夾
2 settings裡註冊一下
3 靜態檔案配置:
1 STATIC_URL = '/static/' 一般不要改
2 建立一個static資料夾 一般不要改
3 STATICFILES_DIRS=[ os.path.join(BASE_DIR, 'static'), 建立的資料夾路徑(可以寫多個) ]
4 完整版登入功能
1 login.html ***重點***
1 action:提交到後臺的地址三種寫法:
1 http://127.0.0.1:8000/login
2 /login/ 推薦用
3 空
2 method post方式
3 <input type="submit" value="提交">或<button></button>
type不可以是button
<form action="http://127.0.0.1:8000/login" method="post">
<p>使用者名稱:<input type="text" name="name" class="form-control"></p>
<p > 密碼:<input type="password" name="pwd" class="form-control">
</p> <input type="submit" value="提交"> </form>
2 檢視層: 1 request.method ----前臺提交過來請求的方式
2 request.POST(相當於字典)----post形式提交過來的資料,(http請求報文的請求體重)
3 request.POST.get('name') ----推薦用get取值(取出列表最後一個值)
4 request.POST.getlist('name')-----取出列表所有的值_
5 前臺get方式提交的資料,從request.GET字典裡取
3 連結資料庫(防止注入,推薦以下寫法) cur.execute('select * from user where name=%s and password=%s ',[name,pwd])
5 get請求和post請求 get:獲取資料,頁面,攜帶資料是不重要的資料(資料量有大小限制) post:往後臺提交資料
6 新手三件套總結 1 render--返回頁面 預設會去templates裡找,注意路徑 2 redirect--重定向 3 HttpResponse 本質:都是返回HttpResponse的物件
7 pycharm連線mysql 8 orm介紹 1 ORM即Object Relational Mapping,全稱物件關係對映。
優點: 1 不用寫sql,不會sql的人也可以寫程式 2 開發效率高
2 缺點: 1 可能sql的效率低
3 如何使用: 如果連線mysql:在setting裡配置: 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': 'admin', 'NAME': 'lqz', }
在app下的__init__.py裡寫: import pymysql pymysql.install_as_MySQLdb()
4 django-orm: 1 不能建立資料庫(需要手動建立資料庫) 2 可以建立資料表 3 可以建立欄位 5 資料庫遷移 1 python3 manage.py makemigrations ----記錄一下資料庫的變化 2 python3 manage.py migrate ----將變化同步到資料庫中 9 orm建立表
建立一個app
python3 manage.py startapp app01
在settings裡面的INSTALLED_APPS中加入 ‘app01.apps.App01Config’
在網址後面輸入admin會彈出一個登入介面