隨着互聯網和移動互聯網的發展,Web開發變得越來越重要,開發者們也開始尋找一個快速、高效、可擴展的框架來簡化Web開發。Django是一個MVC框架,為開發人員提供了一種快速開發可擴展、可維護Web應用程序的方式。
一、Django框架快速入門
要了解Django的開發,需要先了解一些Django的基礎概念。
Django是一個開放源代碼的web框架,基於MVC(模型-視圖-控制器)的架構。它是一個由Python編寫的框架,根據DRY(不要重複自己)的原則構建。Django是一個有很多功能的框架,減輕了Web應用開發人員的負擔。Django建立在Python之上,使用該框架的人員必須要有Python的基礎知識。
首先需要安裝Django:
pip install Django
安裝完Django後,可以使用命令行運行以下命令來創建一個名為mysite的Django項目:
django-admin startproject mysite
使用以下命令運行服務器:
python manage.py runserver
此時,您就可以在瀏覽器中輸入http://127.0.0.1:8000/並使用Django創建的默認頁面進行測試
二、Django模型層(Model)的使用
在Django中,模型是用於訪問持久化數據的主要組件。模型的設計由一個MVC框架提供。該模型與數據庫交互,並在使用Python ORM(對象關係映射)構建時訪問數據庫對象。也就是說,Django將各種數據庫的操作進行了高度封裝,使我們僅需關心數據處理功能而不需要了解底層的數據庫操作。
建立模型很簡單,只需要繼承Django中的Model類,使用一些Django提供的輔助對象,如CharField和DateTimeField等,即可獲得頂層的抽象模型:
from django.db import models class Person(models.Model): name = models.CharField(max_length=30) age = models.IntegerField()
接下來可以執行以下命令將模型應用於數據庫:
python manage.py makemigrations python manage.py migrate
此時就可以通過Django自帶的管理頁面輕鬆添加數據。
三、Django視圖層(View)的使用
視圖是Django的MVC框架中處理用戶操作請求並返迴響應的中心組件。當用戶在Web瀏覽器中輸入一個URL時,Django查找相應的視圖來處理這個請求,處理數據並返迴響應。在Django中,視圖是一個Python函數或方法,它接收HTTP請求並返回HTTP響應。
示例代碼:
def hello(request): return HttpResponse("Hello world")
上面的代碼創建了一個名為hello的視圖,它接收請求並返回’Hello world’字符串。如果想要在瀏覽器中顯示該字符串,需要將它們映射到URL。可以通過Django的URL模式來進行URL映射。
from django.urls import path from . import views urlpatterns = [ path('hello/', views.hello, name='hello'), ]
在上述代碼中,我們將hello視圖映射到名為’hello/’的URL。這意味着要訪問url ‘http://127.0.0.1:8000/hello/’時,將觸發hello視圖。
四、Django模板(Template)的使用
模板是Django的MVC框架中處理呈現部分的組件。模板與HTML結構相似,可使用模板標記標識變量和遍歷控制結構等。模板引擎將模板渲染為HTML,並將模型數據插入到指定位置。
要使用模板,需要創建一個模板,可以在Django的app目錄中創建一個名為「templates」的文件夾,並將html上傳到該文件夾。然後可以從模板系統中加載模板渲染為一個HttpResponse對象並返回。
示例代碼:
創建一個名為hello.html的模板
<html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, {{name}}!</h1> </body> </html>
在views.py中編寫代碼來渲染這個模板,返回一個HttpResponse對象:
from django.shortcuts import render def hello(request): name = "Django" return render(request, 'hello.html', {'name': name})
在這裡,我們使用了render方法來渲染模板並將變量注入到模板中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/160028.html