一、Django4.2
Django4.2是Django4的最新版本,作為一個高效的Web框架,它一直在不斷的更新和迭代,讓我們來看看Django4.2中的一些新特性。
1、在Django4.2中引入了異步視圖和中間件,提升了Web應用程序的性能和體驗。
from django.http import HttpResponse from django.views.decorators.http import require_http_methods from django.utils.decorators import sync_and_async_middleware from asgiref.sync import sync_to_async, async_to_sync @sync_to_async def get_name(): return "Django4.2" @sync_and_async_middleware async def get_username(get_response, request): username = request.user.username if request.user.is_authenticated else "guest" response = await get_response(request) response["X-Authenticated-User"] = username return response @require_http_methods(["GET"]) async def async_view(request): name = await get_name() return HttpResponse(f"Hello, {name}!", content_type="text/plain")
2、通過使用新的BooleanField的null=False和blank=False,可以提高數據模型的準確性。
from django.db import models class Book(models.Model): title = models.CharField(max_length=255) published = models.BooleanField(null=False, blank=False)
3、Django4.2中還引入了新的JSONField,可以在Web應用程序中方便地處理JSON數據。
from django.db import models class Profile(models.Model): name = models.CharField(max_length=100) info = models.JSONField()
二、Django教程 廖雪峰
廖雪峰的Django教程是非常適合初學者入門的教程,通過這個教程你可以了解Django的基本概念和功能。
1、創建Django項目
django-admin startproject mysite
2、創建Django應用
cd mysite python manage.py startapp myapp
3、創建數據模型
from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=100) published_date = models.DateField()
三、Django4.0
Django4.0作為一個穩定版本, 它引入了如下新特性:
1、引入了PathExpressions用於優化ORM查詢。
from django.db.models import Q Book.objects.filter(Q(publish_date__year=2021) & Q(author__last_name__startswith='K'))
2、新的HTTP Strict Transport Security(HSTS)頭使您的Web應用程序更加安全。
SECURE_HSTS_SECONDS = 31536000 SECURE_HSTS_INCLUDE_SUBDOMAINS = True SECURE_HSTS_PRELOAD = True
3、更新了密碼哈希算法,使您的Web應用程序更加安全。
PASSWORD_HASHERS = [ 'django.contrib.auth.hashers.Argon2PasswordHasher', 'django.contrib.auth.hashers.BCryptSHA256PasswordHasher', 'django.contrib.auth.hashers.BCryptPasswordHasher', 'django.contrib.auth.hashers.PBKDF2PasswordHasher', 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', 'django.contrib.auth.hashers.SHA1PasswordHasher', 'django.contrib.auth.hashers.MD5PasswordHasher', 'django.contrib.auth.hashers.UnsaltedMD5PasswordHasher', 'django.contrib.auth.hashers.CryptPasswordHasher', ]
四、Django4s店
Django4s店是一個集成了Django、Vue、Webpack和ElementUI的Web開發套件,它簡化了Web應用程序的開發流程。
1、安裝Django4s店
pip install django4shop
2、創建Django4s店項目
django4shop createproject myproject
3、啟動Django4s店項目
cd myproject python manage.py runserver
五、Django4.0中文文檔
Django4.0中文文檔提供了全面的Django4.0中文文檔和教程,它幫助開發者更快速地學習和開發Django應用程序。
1、URLconf:視圖和模板
URLconf定義了如何匹配URL和視圖,以及如何處理請求和響應。當用戶請求一個URL時,Django將搜索與該URL匹配的URLconf,並將請求發送到其中定義的視圖。視圖是一個Python函數,它接收請求並返迴響應。
2、視圖和HTTP方法
Django的視圖可以使用不同的HTTP方法,例如GET、POST、PUT和DELETE。我們可以在URLconf中指定HTTP方法,但在視圖中處理請求時,我們還可以使用Django的裝飾器來指定支持的方法。
3、Django測試
Django測試框架提供了一種方便的方法來測試您的應用程序。您可以編寫測試函數,這些函數使用Django的測試客戶端來測試您的視圖和模型。
六、Django官網中文文檔
Django官網中文文檔列出了最新的Django版本和詳細的文檔,為開發者提供了一個全面的參考手冊。
1、Django應用架構
在Django中,我們可以通過應用程序來組織我們的代碼。每個應用程序都應該處理與業務邏輯相關的某些內容,並將其與其他應用程序區分開來。應用程序可以包括模型、視圖、模板、靜態文件和其他輔助代碼。
2、模型和數據庫
Django模型是一個Python類,它定義了如何與數據庫中的表進行交互。我們可以使用Python代碼來創建、讀取、更新和刪除表中的數據。
3、視圖和模板
Django視圖處理用戶請求並生成響應。我們可以編寫Python視圖,並將其與URL模式關聯起來。Django模板則用於生成HTML響應。
七、Django4和Django3的區別
Django4和Django3之間存在一些變化,這些變化影響了開發人員開發和部署Web應用程序的方式。
1、異步視圖和中間件
Django4引入了異步視圖和中間件,這提高了Web應用程序的性能和體驗。 Djang3不支持異步視圖和中間件。
2、更新的密碼哈希算法
Django4更新了密碼哈希算法,使您的Web應用程序更加安全。 Django3不支持這些新的哈希算法。
3、從Python 3.5開始, Django4不再支持3.4,而Django3支持3.4。
八、Django框架
Django是一個高效、安全、穩定的Web框架,它使用Python語言編寫並基於模型-視圖-控制器(MVC)架構。 Django提供了很多內置功能,如ORM、中間件和模板引擎,使得開發Web應用程序變得更加容易。
1、ORM
Django的ORM提供了一種簡單而有效的方法,用於在Python中向數據庫中存儲和檢索數據。我們可以使用Python代碼來定義模型並進行數據操作,而不必編寫SQL查詢。
2、中間件
Django的中間件在請求和響應之間提供了一些功能,例如:內置的身份驗證、CSRF保護和HTTP頭處理。我們可以編寫自己的中間件來擴展Django的功能。
3、模板引擎
Django的模板引擎是一個用於生成HTML響應的簡單而強大的工具。我們可以使用模板語言來組合和生成頁面內容。
九、Django官網
Django官網是一個資源豐富的網站,提供了有關當前版本Django和開發環境的信息、文檔、教程、社區和代碼示例。
1、Django文檔
官網提供了最新的Django文檔,包括教程、API參考、組件文檔和特定主題的指南。
2、Django示例
官網還提供了Django的示例代碼,包括Polls應用程序、博客應用程序和一個詞頻計算器。
3、Django社區
官網還提供了Django社區,這是一個開發者交流和分享經驗的地方,你可以在這裡找到有用的代碼片段、解決方案和技巧。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/308693.html