• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Django簡介

    標簽: 前端

    Django簡介

    wsgiref模塊

    wsgiref模塊能根據功能的不同拆分成不同的文件,用戶在瀏覽器窗口輸入url之所以能狗獲取到相應的資源,是因為后端早已經開設了相應 資源接口。

    wsgiref特點:

    1. 先在urls文件中寫url與函數的對應關系
    2. 再去views文件中寫對應的函數功能塊

    urls.py:路由與屬兔函數的對應關系

    views.py:里面就是放的一堆視圖函數(視圖函數也可以是函數也可以是類)

    templates文件夾:里面放的就是一堆HTML文件(模板文件夾)

    大白話:wsgiref模塊作用是幫你將復雜的socket連接封裝,將用戶輸入的數據做處理,并把后端發送給瀏覽器的數據也做處理。

    動靜態網頁

    靜態網頁

    數據是寫死的,萬年不變

    動態網頁

    數據是動態獲取的:

    1. 獲取檔期那時間
    2. 從數據庫中獲取數據

    jinja2模塊

    提供了一個可以在HTML頁面上書寫類似于python后端的 代碼,來操作數據(模板語法)

    pip3 install jinja2 下載安裝模塊

    flask框架模板語法使用的就是jinja2模塊,所以只要下載了flask框架,就會自動下載jinja2模塊。

    模板語法(jinja2)模塊語法非常貼近python語法,但是并不是所有的框架使用的都是jinja2模塊語法

    在HTML文件內的語法示例:
    
    {{ xxx }}
    <p>{{xxx.username}}</p>
    <p>{{xxx['password']}}</p>
    <p>{{xxx.get('hobby')}}</p>
    <p>{{xxx.get('hobby')[0]}}</p>
    <p>{{xxx.get('hobby').1}}</p>
    
    
    {%for user_dict in xxx %}
        <tr>
            <td>{{ user_dict.id }}</td>
            <td>{{ user_dict.name }}</td>
            <td>{{ user_dict.hobby }}</td>
        </tr>
    {% endfor %}
    

    web框架

    python三大主流框架

    django

    • 優點:大而全,自身攜帶的組件和功能特別特別多,功能全面;就類似于塔吊機
    • 缺點:大嘛,所以就笨重,需要的不需要的功能都有。當你只需要蓋一間房子的時候,你會用到塔吊機嘛?

    flask

    • 優點:小而精,源碼600多行(分為請求上下文,應用上下文),自身攜帶的組件和功能特別特別少,但是第三方支持該框架的模塊特別特別多,如果你將flask第三方模塊全部疊加起來,甚至可以超過django
    • 缺點:常言你的優點就是你的缺點。因此flask受限于第三方模塊,版本更新導致不兼容問題比較常見。

    tornado

    異步非阻塞,天然支持高并發,甚至可以用它來開發游戲服務器。

    django框架

    安裝及注意事項

    1. 注意事項

      1. 計算機名稱不能有中文
      2. 項目文件名也不能用中文
      3. 一個pycharm窗口就是一個單獨的完整的項目
    2. 版本問題

      1. 1.x版本

      2. 2.x版本

      3. 3.x版本(目前不用考慮)
        在這里插入圖片描述

        推薦使用1.x版本里面的1.11.09-1.11.13,因為2.x版本才發行不久,新公司或者更換了版本的公司才會使用,一般使用1.8或1.11,現已逐步往1.11轉

    3. 安裝

      pip3 install django==1.11.11

    4. 測試是否安裝成功

      命令行輸入:django-admin

    創建django項目

    1. 命令行

      1. 創建django項目

        語法:django-admin startproject mysite(項目名)

        效果:創建一個mysite文件夾

      2. 啟動django項目(先切換到項目目錄下)

        語法:python manage.py runserver 必須在cmd管理員啟動(django默認端口是8000)

      3. 創建具有獨立功能的app,通常情況下應該能做到見明之義。

        語法:python manage.py startapp app名字

      ···1. 使用命令行創建的django項目是不會自動創建templates模板文件夾的,只能自己手動創建

      ···2. 命令行創建的django項目不但沒有templates文件夾,配置文件中也沒有填寫路徑(而pycharm創建會自動添加)

    2. pycharm快捷鍵

      1. 直接在pycharm命令行里輸入,語法與cmd相同

    app的概念

    全名application 應用,此app非彼app.

    django其實是一個專注于開發app的web框架,一個空的django項目就類似于一所大學,app就類似于大學里面的各個學院。

    每個app就類似于不同的功能模塊

    • 購物網站

      • 用戶相關 user —用戶相關的app
      • 訂單相關 order — 訂單相關的app
      • 投訴相關 Complaint — 投訴相關的app
    • 不同的功能模塊推薦使用不同的app去開發

    • django支持多app

    django主要文件功能

    mysite
    	-mysite
        	--__init__.py
            --settings.py	項目配置文件
            --urls.py	路由視圖函數對應關系,項目的總路由
            --wsgi.py
        -manage.py
        app01
        	--migrations文件夾	數據庫改動記錄
            	----__init__.py
            --__init__.py
            --admin.py	django后臺管理
            --apps.py	注冊app類
            --models.py	模型類(orm)
            --tests.py	測試文件
            --view.py	視圖函數(******

    使用django時注意的事項

    1. 代碼修改了始終沒有效果

      1. 在同一個端口起了多個服務,一直跑的是最開的那個服務
      2. 瀏覽器緩存問題
    2. 創建app之后一定一定要先settings文件中注冊(INSTALLED_APPS )

      INSTALLED_APPS = [
          'django.contrib.admin',
          'django.contrib.auth',
          'django.contrib.contenttypes',
          'django.contrib.sessions',
          'django.contrib.messages',
          'django.contrib.staticfiles',
          
          # 注冊我們自己的app
          # 'app01'  # 簡寫
          'app01.apps.App01Config'  # 完整寫法
      ]
      
      1. djagno能夠自動重啟,但是他的重啟機制是:只要檢測到你的代碼有變化,在一定時間間隔內就會自動重啟,所以有時候可能會出現,代碼還沒寫完,就已經重啟了(會報錯,但影響不大)
    3. settings配置文件DATABASES(NAME)添加文件根目錄,后續寫代碼會有提示,更方便快捷

      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.sqlite3',
              'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
          }
      }
      

    小白三板斧

    HttpResponse

    內部傳入一個字符串參數,返回給瀏覽器

    def index(request):
    
    		#業務邏輯代碼
    		
    	return HttpRespone("ok")
    

    render

    除request參數外還接受一個待渲染的模板和一個保存具體數據的字典參數。

    將數據填充進模板文件,最后將結果返回給瀏覽器。(類似于我們上面用到的jinja2)

    def index(request):
    		
    		#業務邏輯代碼
    
    		return render(request,"index.html",{"name":"alwx","bobby":["燙手的山芋"]})
    
    返回HTML頁面 并且可以給HTML頁面傳輸數據
    
    模板渲染(將數據在后端按照模板語法放入HTML對應的位置)
    
    

    redirect

    重定向(303)接受一個URL參數,表示跳轉到指定的URL。

    def index(request):
        return HttpResponse('你好啊 小妹妹')
    
    
    def login(request):
        return render(request,'login.html',{'user_dict':{'username':'jason','password':123},'userxxx':'hello world'})
    
    
    def home(request):
        # return redirect('https://www.mzitu.com')
        return redirect('/index')
    
    版權聲明:本文為lipenghandsome原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/lipenghandsome/article/details/103827789

    智能推薦

    Django簡介和安裝

    目錄 Django MVC模型 Django的MTV模型 Django的安裝 虛擬環境 Django Django是一個開放源代碼的Web應用框架,由Python寫成,其網站的特點是高質量,可維護,可擴展,Django的web項目可在短時間內完成。 MVC模型 Django是一個基于MVC構造的框架,即模型M,視圖V 和 控制器C。它是一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離...

    Django簡介和配置

    Django的架構思想 Model       數據庫 Template     模板文件 View        業務處理 下載django: pip3 install django 創建一個Django工程 django-ad...

    Django----簡介

    Django ---- 簡介 Django發布于2005年,是當前Python世界里最負盛名且成熟的網絡框架。最初用來制作在線新聞的Web站點。 Django是一個用Python編寫的開放源代碼的Web應用框架(源代碼是開源的,遵守BSD版權)。采用了MVC的框架模式,也有很多人把它稱為MVT(MTV)模式。 MVC 設計模式 一種軟件設計典范,用一種業務邏輯,使數據,界面顯示分離的方法組織代碼,...

    Django框架簡介

    框架(framework),指為解決一個開放性的問題而設計的具有一 定約束性的支撐結構,使用框架可以幫助你快速開發特定的系統。 部署Django環境 下載安裝Django模塊 方法一:使用pip工具 更新pip的版本 首先要確保安裝了pip工具 方法二:使用git 方法三:下載Django的py包,然后使用python命令安裝 檢測是否安裝成功 安裝數據庫 django默認提供了Sqlite數據庫...

    Django簡介(下)

    Django簡單應用 模型的增刪改查(ORM模塊) 數據的查詢 查詢所有數據 按照指定條件查詢 計數語句 符合條件的多條數據查詢 模糊查詢 數據的增加 第一種方式: 第二種方式(重點) 關于數據庫表名的設計 關于模型與數據庫數據的關系 視圖與模型的結合使用 設計顯示用戶的操作頁面 HTML操作頁面 模型的增刪改查(ORM模塊) 數據的查詢 查詢所有數據 導包 格式:模型類名.objects.all...

    猜你喜歡

    django命令簡介

    django命令目錄: 在cmd中輸入:dango-admin即可返回全部的django的命令   引入 Windows+R,輸入cmd,然后在命令行輸入即可返回django的全部命令: 命令代碼解釋 check:檢測所有項目是否存在問題 compilemessages:編譯語言文件,用于項目區域語言設置 dbshell:進度django配置的數據庫,可執行sql語句 diffsetti...

    Django簡介及安裝

    Djano簡介 基本介紹 Django是一個由python編寫的一個開放源代碼的web應用框架 Dajngo的模型是MVC模型:即 Model(模型)+ View(視圖)+ Controlle(控制器) MVC的優勢:低耦合,開發快捷,部署方便,可重用性高 ,維護成本低 特點 強大的數據庫功能 自帶強大的后臺功能 優雅的網址 MVC與MTV模型 MVC模式 是軟件工程的一種軟件架構模式,把軟件系統...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    精品国产乱码久久久久久蜜桃不卡