<tbody id="86a2i"></tbody>


<dd id="86a2i"></dd>
<progress id="86a2i"><track id="86a2i"></track></progress>

<dd id="86a2i"></dd>
<em id="86a2i"><ruby id="86a2i"><u id="86a2i"></u></ruby></em>

    <dd id="86a2i"></dd>
    victor1234

    1.簡介

    web應用程序的本質

    1. 接收并解析HTTP請求

    2. 處理本次請求,完成業務上的處理

    3. 構造并返回響應HTTP響應

    ?

    ?

    ?

    什么是web框架呢?

    web框架用于搭建web應用程序,免去不同web應用相同代碼的重復

    ?

    Django是通過python實現的web框架,是開源的,正式版本發布于2008年,常見的web框架:django、flask、tornado

    Django采用MVT的軟件設計模式,即模型(Model),視圖(View),和模板(Template)

    1. M全拼為Model,負責和數據庫交互,進行數據處理。
    2. V全拼為View,接收請求,進行業務處理,返回應答。
    3. T全拼為Template,負責封裝構造要返回的html。

    MVT的 工作流程

    路由控制器將請求轉發給對應的視圖函數,完成業務邏輯,視圖函數將從model中獲取數據嵌套在template的模板文件中,渲染成html頁面,返回給客戶端

    所以學習django的重點就是url+MVT

    2.下載

    本次總結使用的是Django3.2版本

    在本地安裝

    pip install django==3.2
    
    pip源:
        https://pypi.douban.com/simple/  豆瓣源
        https://pypi.tuna.tsinghua.edu.cn/simple   清華源
            
    使用格式:
        pip install django==3.2 -i https://pypi.douban.com/simple/

    查看django版本號

    django-admin --version

    ?

    ?

    ?

    3.虛擬環境

    我們默認使用的都是系統解釋器,我們安裝的所有模塊都在系統下,這為我們以后遷移項目帶來很大的不便,我們在實際開發中更推薦的做法是為每一個項目創建一個虛擬環境,該環境包含項目所需要的所有模塊

    • 我們常用的是virtualenv的方式來創建虛擬環境,首先需要安裝該模塊
      pip install virtualenv
    • 切換到需要創建虛擬環境的目錄
      mkdir env
      cd env
    • 創建虛擬環境
      virtualenv test --python=python3

    • 激活虛擬環境
      source test/bin/activate

      ?

    • 安裝python模塊
      pip install django==3.2
      ..

      ?

      ?

    • 退出虛擬環境
      deactive

      ?

      ?

      ?

    4.項目創建

    4.1 使用命令行創建項目

    • 切換到創建項目目錄

    • 創建項目

      django-admin startproject mytest  # 指定項目名稱
      
      目錄結構:
      D:\project\mytest
      ├── manage.py              [項目的管理工具]  
      └── mytest
          ├── __init__.py
          ├── settings.py        【配置文件,只有一部分。程序啟動時,先讀取django內部配置,再讀settings.py】
          ├── urls.py               【主路由,在里面編寫  /xxx/xxx/xxx ---> index 】
          ├── asgi.py            【異步】
          └── wsgi.py            【同步,主】

      ?

    • 創建子app
      django-admin startapp app01
      
      │─ manage.py        # 終端腳本命令,提供了一系列用于生成文件或者目錄的命令,也叫腳手架
      └─ mytest/          # 主應用開發目錄,保存了項目中的所有開發人員編寫的代碼, 目錄是生成項目時指定的
          │- asgi.py      # django3.0以后新增的,用于讓django運行在異步編程模式的一個web應用對象
          │- settings.py  # 默認開發配置文件
          │- urls.py      # 路由列表目錄,用于綁定視圖和url的映射關系
          │- wsgi.py      # wsgi就是項目運行在wsgi服務器時的入口文件
          └- __init__.py
      └─ app01            # 子應用
          │- models       # 該應用的模型類模塊
          │- views        # 該應用的視圖模塊
          │- tests        # 該應用的單元測試模塊
          │- apps         # 該應用的一些配置,自動生成
          │- admin.py     # 該應用的后臺管理系統配置
    • 運行項目
      python3 manage.py runserver 127.0.0.1:8090
    • 訪問頁面

      ?

      ?

    4.2 使用pycharm創建項目

    • 創建項目
      通過這種方式創建的django版本是最新的,不推薦

      ?

      ?

    • 運行項目

      ?

      ?

    • 訪問項目

      ?

      ?

    4.3 使用pycharm創建帶有虛擬環境的項目

    • 創建純凈的python項目

      ?

      ?

    • 安裝django模塊
      使用pycharm默認就會激活虛擬環境

      ?

      ?

      pip install django==3.2

      ?

      ?

    • 創建django項目
       django-admin startproject pythonProject1 .

      ?

      ?

    • 創建子應用
      django-admin startapp app01

      ?

      ?

      ?

    • 配置django

      ?

      ?

      ?

      ?

      ?

      ?

    • 運行django

      ?

      ?

    • 訪問Django

      ?

      ?

    4.4 django的快速使用

    在django中展示數據給用戶,需要3個步驟

    • 在urls.py中射進url與視圖的映射關系

    • 創建視圖函數

    • 模板渲染

    創建路由

    from django.contrib import admin
    from django.urls import path
    from app01 import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('index/', views.index),
    ]

    創建視圖函數

    from django.shortcuts import render, HttpResponse
    from datetime import datetime
    
    
    # Create your views here.
    def index(request):
        now_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        return render(request, "index.html", {"now_time": now_time})

    模板

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p>{{ now_time }}</p>
    </body>
    </html>

    ?

    ?

    ?

    ?

    4.5 創建多項目app

    如果在一個項目中有很多個子項目,我們通常會將多個子app規整在一個文件夾下,使得目錄更加簡潔

    • 在項目中創建一個apps的文件夾

      ?

      ?

    • 在apps文件夾中創建對應子項目名稱的文件件
    • 創建子項目

      ?

      ?

    • 修改每個子項目下的name

      ?

      ?

    • 設置配置文件中項目的注冊
      INSTALLED_APPS = [
          'django.contrib.admin',
          'django.contrib.auth',
          'django.contrib.contenttypes',
          'django.contrib.sessions',
          'django.contrib.messages',
          'django.contrib.staticfiles',
          'apps.app01.apps.App01Config',
          "apps.app02.apps.App02Config"
      ]

      ?

    相關文章:

    免费一级a片在线播放视频|亚洲娇小性XXXX色|曰本无码毛片道毛片视频清|亚洲一级a片视频免费观看
    <tbody id="86a2i"></tbody>

    
    
    <dd id="86a2i"></dd>
    <progress id="86a2i"><track id="86a2i"></track></progress>

    <dd id="86a2i"></dd>
    <em id="86a2i"><ruby id="86a2i"><u id="86a2i"></u></ruby></em>

      <dd id="86a2i"></dd>