日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

了解Django之前

發布時間:2025/4/16 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 了解Django之前 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

什么是web應用?

  通俗地講,就是通過瀏覽器訪問一個網址,該網站從后臺調取數據,然后把相應的界面展示給用戶這樣的一個過程。

?

什么是HTTP協議?

  即超文本傳輸協議:規定了客戶端與服務端消息傳輸的格式

?

  四大特性:

    1、基于TCP / IP 協議作用于應用層的協議

    2、基于請求響應(一次請求對應一次響應)

    3、無狀態(不保留客戶端的狀態,每次待你如初見)

    4、無鏈接(HTTP接受一次請求之后就會馬上斷開,但并不是斷開了TCP)

擴展:針對無鏈接還有反向的一個websoceke技術,這是用來保持常鏈接的。

?

  數據格式之請求:

    請求首行

    請求頭  (一堆k,v鍵值對)

          (這里是空格,不是代表沒有)

    請求體(post請求攜帶的數據)(get請求攜帶的參數放在URL后用一個問號隔開,第一數據不安全,第二是傳輸的大小也有限制)

  數據格式之響應:

    響應首行

    響應頭    (一堆k,v鍵值對)

            (空格)

    響應體(post請求攜帶的數據)

?

  響應狀態碼:

    1xx  服務器已經成功接收到你的數據正在處理,你可以繼續提交其他數據

    2xx  請求成功  服務器已經將你請求的數據發送給你了

    3xx  重定向

    4xx  請求資源不存在

    5xx  服務器錯誤

?

  動靜態網頁

    靜態網頁:

      頁面上的數據都是寫死的,萬年不變的。

    動態網頁:

      頁面上的數據是從后端動態獲取的

      比如后端獲取當前時間

      后端獲取數據庫數據然后傳遞給前端頁面

?

  模板渲染

    后端生成的數據直接傳遞給前端頁面使用(并且前端頁面也可以靈活地操作該數據) >>>模板語法

    模板渲染  模板語法需要依賴于第三方模塊

    pip install jinja2

?

    模板語法  jinja2 支持前端直接使用類似于Python的語法操作數據

    <p>{{ user_dic }}</p>    記得是兩個大括號

    <p>{{ user_dic.name }}</p>
    <p>{{ user_dic['password'] }}</p>
    <p>{{ user_dic.get('name') }}</p>

    

    一般要取值的話,可以遍歷,然后添加到前端界面的列表中

    {% for user in user_dict %}?  這里取到的是列表里面套字典的形式  [{},{},{},{}]
      <tr>
        <td>{{ user.id }}</td>
        <td>{{ user.name }}</td>
        <td>{{ user.password }}</td>
      </tr>
    {% endfor %}

?

簡易版web框架流程圖

  

什么是web框架?

目前Python 三大主流的web框架

  Django :大而全,自帶了很多功能模塊,相當于web框架界的航空母艦(缺點:因為太大導致文件內容較多)

?  Flask:短小精悍,自帶的功能模塊少,大部分都依賴一第三方模塊,但是因為精簡導致內容易于理解

  Tornado:異步非阻塞  主要用在處理高IO 多路復用的情況 一般游戲后端用的比較多

?

web框架功能分為三個部分

a:socket  (服務)

b:路由與視圖函數  

c:模板渲染

?

Django:

  a:用別人的  wsgiref

  b:自己寫的

  c:自己寫的

Flask:

  a:用別人的  werkzeug

  b:自己寫的

  c:用別人的  jinja2

Tornado:

  a,b,c 都是自己寫的

?

注意,在運行Django的時候:

  1、計算機的名稱不能有中文

  2、一個pycharm窗口就是一個項目,不要多個項目放在一個窗口里面

  3、項目名不能起中文

?

?Django簡介

  一般下載1.xx.xx版本

?  命令行下載:pip3 install Django == 1.11.11

  驗證是否下載成功

  Django - admin

?

創建Django項目的方式

  方式一(命令行創建):

    創建Django項目

      Django-admin startproject  

    創建app應用

      Python3? manage.py? startapp? app01

    啟動Django項目

      python3? manage.py? runserver

    注意:用命令行創建Django默認不會自動創建templates(用來存放所有的HTML文件的地方)文件夾

      ? ? 需要自己手動創建(在settings中查看該文件夾是否加入了環境變量中,沒有要記得手動添加)

?

?  方式二(pycharm創建):

?    file>new project 選擇Django 注意:1、名字不能有中文?  2、選擇本地解釋器  3、勾選后臺管理

    創建app

      pycharm命令行創建

        python3? manage.py? startapp? app01

      Tools? 下面 run manage task 功能欄  省略了python3? manage.py 直接輸入startapp即可創建

?    強調:

      1、用django 一定要保證只有一個在運行狀態

      2、記得清理瀏覽器的緩存

?

app(應用)的概念

    一個django項目就像是一所大學

    而app就是大學里面的學院

注意:創建新的app之后,要在配置文件中注冊才能生效

?INSTALLED_APPS = [

  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'app01.apps.App01Config'    # 可以用全稱
  'app01'            # 也可以簡寫

?]

?django各個文件的作用

?應用名

    migrations  數據庫遷移記錄相關數據

    admin.py  ? ?django 后臺管理相關

    models.py? ? ? 模型表相關

    views.py    視圖函數相關

項目名

    settings.py   配置文件

    urls.py    路由與視圖函數的映射關系

templates

    項目用到的所有HTML文件

?manage.py

    django 入口文件

?

?django 入門必會三個技術點

from? django.shortcuts? import render,HttpResponse,redirect

?

HttpResponse  返回字符串

render     ? 返回一個html頁面

    兩種給前端頁面傳值的方式

      def reg(request):
        user_dict = {'name':'jason','password':'123'}
        return render(request,'reg.html',{'user_dict':user_dict})

      def reg(request):
        user_dict = {'name':'jason','password':'123'}
        return render(request,'reg.html',locals())    (推薦使用)

?redirect    重定向(跳轉到其他指定URL或頁面等)

?

django識別到代碼變化之后會自動刷新,但是有時候反應速度比較慢

可以手動重啟,也可以手動刷新瀏覽器

?

轉載于:https://www.cnblogs.com/SlookUp/p/10981231.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的了解Django之前的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。