Python系列之 1 Django入門

2021-09-24 08:19:34 字數 2623 閱讀 4795

請求訪問流程:http請求經過url對映器,到達view層,view層可以從model層獲取資料,再從template層取得不變的html資料,和model層取得資料組合,最後返回httpresponse應答。

1. 在終端下,進入準備存放專案的目錄下執行:django-admin startproject myproject,此時,目錄結構為:

myproject/

manage.py

myproject/

__init__.py

settings.py

urls.py

wsgi.py

其中: myproject:專案的根目錄

manage.py:乙個命令列程式,用來管理django專案

myproject/settings.py:專案配置

myproject/urls.py:配置專案的url對映器

myproject/wsgi.py:乙個wsgi相容的web伺服器的入口。

複製**

2. django的專案配置資訊需要儲存到資料庫中,預設使用sqlite3,在myproject/settings.py中設定。

預設配置如下:

databases = 

}舉例:mysql資料庫配置

databases =

}複製**

設定好資料庫的配置檔案後,需要執行如下命令初始化資料庫。

$ python3 manage.py migrate

複製**

3. 建立應用程式

django中有專案和應用程式的分別,應用程式可以理解為具有特定功能的一些程式,專案可以包含多個應用程式,例如乙個**,可以把訂單和商品詳細放在兩個應用程式中,各自負責不同的功能。   建立應用程式,在myproject目錄下執行:

整個專案的目錄結構如下:

myproject/

manage.py

myproject/

__init__.py

settings.py

urls.py

wsgi.py

books/

__init__.py

admin.py

models.py # 模型層

tests.py # 測試相關**

views.py # 檢視層

migrations/ # 資料庫公升級產生的檔案存放在此目錄

__init__.py

複製**

4. 第乙個django程式

1)修改myproject/settings.py檔案,新增應用程式資訊

}複製**

2) 定義檢視函式:引數是request(httprequest),返回值是httpresponse。

books/views.py檔案

複製**3) 修改專案的url對映器

myproject/myproject/urls.py

from django.contrib import admin

from django.urls import path, include

import books

from books import urls

urlpatterns = [

path('books/', include(books.urls)), # 函式

path('admin/', admin.site.urls), # 函式

]複製**

4) 增加應用程式下的url對映器

books/urls.py

from django.urls import path

from . import views

urlpatterns = [

path('hello/', views.hello, name='hello')

]複製**

5) 啟動伺服器

在專案根目錄下執行如下命令:

$ python3 manage.py runserver

複製**

6) 訪問可以看到你好,世界的頁面。

7) 解釋

request先到達myproject/myproject/urls.py的專案url對映器中,根據path('books/', include(books.urls)),匹配books/,然後請求跳轉到books.urls應用程式url對映器,根據books/urls.py中的path('hello/', views.hello, name='hello'),匹配'hello/',請求跳轉到views.hello這個檢視函式中,views.hello檢視函式處理業務邏輯,返回應答httpresponse.

python學習系列 1

今天是學習python的第一天 覺得有必要做點記錄,加上程式設計學習做紙質筆記個人覺得不太合適,於是將這裡當成記錄學習程式設計的本吧。1.程式編寫的基本方法 ipo input process output 2.解決程式設計問題的步驟 分析問題 分析問題的計算部分,理清思路 劃分邊界 劃分問題的功能...

Nginx系列之1 限流

安裝準備 cd usr local src wget 解壓 tar zxvf usr local src nginx 1.18.0.tar.gz 進入到 nginx 1.18.0 目錄下 cd nginx 1.18.0 生成 makefile configure 編譯並且安裝 預設輸出到 usr l...

Python基本系列 1

python 裡面萬物皆物件 object 只要是物件,就有相應的屬性 attributes 和方法 methods 1 基本資料型別3種 整數 浮點數 布林 2 容器資料型別5種 字元 元組 列表 字典 集合 3 條件語句和迭代迴圈 if,if else,nested,while,for 4 函式...