一、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社区,这是一个开发者交流和分享经验的地方,你可以在这里找到有用的代码片段、解决方案和技巧。