1. 程式人生 > >第四十四天

第四十四天

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會彈出一個登入介面