1.django簡介及安裝

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源:
    //pypi.douban.com/simple/  豆瓣源
    //pypi.tuna.tsinghua.edu.cn/simple   清華源
        
使用格式:
    pip install django==3.2 -i //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"
    ]