第一章、Django概述

第一章、Django概述

1、瞭解軟件開發架構

c/s  客戶端   服務端

    b/s  瀏覽器   服務端

    ps:bs本質也是cs

2、HTTP協議

全稱:超文本傳輸協議
1.四大特性
    1.基於TCP/IP之上做用於應用層
    2.基於請求響應
    3.無狀態  每次鏈接一次只處理一個請求,
        不保存用戶狀態 不利於保持鏈接 因此纔有cookie session token的產生...
    4.無鏈接:
            長鏈接  websocket(HTTP協議的大補丁):沒有數據傳也要保持tcp鏈接

2.數據格式
    請求格式
        請求首行(請求方式,協議版本。。。)
        請求頭(一大堆k:v鍵值對)
        \r\n
        請求體(真正的數據  發post請求的時候纔有 若是是get請求不會有)
    
    響應格式
        響應首行
        響應頭
        \r\n
        響應體

3、響應狀態碼

用特定的數字表示一些意思
    1XX:服務端已經成功接收到了你的數據 正在處理  你能夠繼續提交其餘數據
    2XX:服務端成功響應(200請求成功)
    3XX:重定向
    4XX:請求錯誤(404 請求資源不存在   403 拒絕訪問)
    5XX:服務器內部錯誤(500 )

4、請求方式

get請求
        朝別人要數據(get請求沒有請求體,get請求也能夠攜帶參數)
    post請求
        朝別人提交數據(用戶登陸)

5、基於wsgiref模塊

至關於web服務網關接口
        1 socket代碼幫你封裝好了 
        2 http數據自動幫你處理好了
            1.請求來的時候 幫你拆分http數據格式
            2.響應走的時候 有幫你封裝成了符合http數據格式的數據
根據不一樣的功能拆封成不一樣的py文件
    urls.py  路由與視圖函數對象關係
    views.py  放的是視圖函數(處理業務邏輯的)
    templates  模板文件夾(一堆html文件)

6、.動靜態網頁

靜態網頁
        數據是寫死的 萬年不變
    動態網頁
        數據是實時獲取的
        eg:
            1.後端獲取當前時間展現到前端
            2.後端獲取數據庫中的數據展現到前端
疑問:如何將後端獲取的數據 傳遞給html頁面
後端獲取的數據 傳遞給html頁面  >>>:  模板的渲染
jinja2  
pip3 install jinja2
模板語法(極其貼近python後端語法)
    <p>{{ user }}</p>
    <p>{{ user.name }}</p>
    <p>{{ user['pwd'] }}</p>
    <p>{{ user.get('hobby') }}</p>
-----------------------------------------   
    {% for user_dict in user_list %}
        <tr>
            <td>{{ user_dict.id }}</td>
            <td>{{ user_dict.name }}</td>
            <td>{{ user_dict.pwd }}</td>
        </tr>
    {% endfor %}

7、python三大主流web框架

Django:
        大而全 自帶的功能特別特別多 相似於航空母艦
        有時候過於笨重
Flask
    小而精 自帶的功能特別特別少 相似於遊騎兵
    第三方的模塊特別特別多,若是將flask第三方模塊所有加起來 徹底能夠超過django
    
    比較依賴於第三方模塊

Tornado
    異步非阻塞
    牛逼到能夠開發遊戲服務器


A:socket部分
B:路由與視圖函數對應關係
C:模板語法前端

Django:
    A用的別人的  wsgiref
    B本身寫的
    C本身寫的
Flask
    A用的別人的  werkzeug(基於wsgiref)
    B本身寫的
    C用的別人的  jinja2
Tornado
    三者全是本身寫的

8、安裝Django

注意事項
    1.計算機的名稱不能有中文
    2.一個pycharm窗口就是一個項目
    3.項目名裏面儘可能不要用中文
django版本問題
    1.X   2.X  如今市面上用的比較多的仍是1.X
    推薦你使用1.11.9~1.11.13
django安裝
    pip3 install django==1.11.11    
如何驗證django是否安裝成功
    命令行直接敲django-admin

說明:python

一個django項目就相似因而一所大學,而app就相似於大學裏面的學院
django其實就是用來開發一個個應用的
一個app就至關於一塊獨立的功能
    用戶功能
    管理功能
django支持任意多個app
如何使用
    命令行使用
        建立django項目
            django-admin startproject mysite
                注意:
                        1.使用命令行建立django項目 不會自動幫你建立templates文件夾
                    只能本身建立
                        2.settings文件中 須要你手動在TEMPLATES寫配置
                            os.path.join(BASE_DIR, 'templates')
        啓動django項目
            python manage.py runserver 
        建立應用app
            python manage.py startapp app01
                  注意:
                       1.新建立的app須要你去settings配置文件中註冊
                       pycharm只會幫你註冊第一個你在建立項目的時候寫的應用

9、使用django

在啓動django項目的時候 你必定要確保一個端口只有一個django項目
項目名
    跟項目名同名的文件夾
        settings.py  暴露給用戶的配置文件
        urls.py  路由與視圖函數對應關係
    應用名
        migrations文件夾  存放數據庫遷移記錄的
        admin.py  django後臺管理
        apps.py  註冊相關
        models.py  模型類 
        tests.py  測試文件
        views.py  存放視圖函數
    templates文件夾  存放html文件
    manage.py  django入口文件

​ ​

相關文章
相關標籤/搜索