您的位置:

Django4详解

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