1 格式示例章节

1.1 标准3层结构示例(情况A)

01.路由系统
    a.基础路由
        a.功能说明
            Django的URL路由系统负责将HTTP请求映射到对应的视图函数。基础路由使用path()函数定义URL模式,支持静态路径和动态参数。
        b.代码示例
            ---
            from django.urls import path
            from . import views

            urlpatterns = [
                path('', views.index, name='index'),
                path('about/', views.about, name='about'),
            ]
            ---
    b.参数路由
        a.功能说明
            参数路由允许在URL中捕获动态值,使用尖括号语法定义参数类型和名称。Django支持int、str、slug、uuid等多种参数类型。
        b.代码示例
            ---
            from django.urls import path
            from . import views

            urlpatterns = [
                path('article/<int:id>/', views.article_detail, name='article_detail'),
                path('user/<str:username>/', views.user_profile, name='user_profile'),
            ]
            ---

02.视图系统
    a.函数视图
        a.功能说明
            函数视图是最简单的视图形式,接收HttpRequest对象作为参数,返回HttpResponse对象。适合处理简单的请求逻辑。
        b.代码示例
            ---
            from django.http import HttpResponse

            def hello_view(request):
                return HttpResponse("Hello, Django!")
            ---
    b.类视图
        a.功能说明
            类视图提供了更好的代码组织和复用能力。通过继承View类并实现HTTP方法对应的处理函数,可以清晰地分离不同请求类型的逻辑。
        b.代码示例
            ---
            from django.views import View
            from django.http import JsonResponse

            class UserAPIView(View):
                def get(self, request):
                    return JsonResponse({'method': 'GET'})

                def post(self, request):
                    return JsonResponse({'method': 'POST'})
            ---

1.2 简化3层结构示例(情况B)

01.模板系统
    a.基础概念
        a.功能说明
            Django模板系统是一个文本处理引擎,用于将数据渲染到HTML页面。它使用特殊的语法标记来插入变量、执行逻辑控制和调用过滤器。模板系统将业务逻辑与展示逻辑分离,提高代码可维护性。
        b.代码示例
            ---
            from django.shortcuts import render

            def index(request):
                context = {
                    'title': 'Django示例',
                    'items': ['Python', 'Django', 'Web开发']
                }
                return render(request, 'index.html', context)
            ---

02.表单处理
    a.表单类
        a.功能说明
            Django表单类提供了数据验证、清理和渲染功能。通过继承forms.Form类并定义字段,可以自动生成HTML表单并处理用户输入。表单类支持多种字段类型和验证规则。
        b.代码示例
            ---
            from django import forms

            class ContactForm(forms.Form):
                name = forms.CharField(max_length=100, label='姓名')
                email = forms.EmailField(label='邮箱')
                message = forms.CharField(widget=forms.Textarea, label='留言')

                def clean_name(self):
                    name = self.cleaned_data['name']
                    if len(name) < 2:
                        raise forms.ValidationError('姓名至少2个字符')
                    return name
            ---

1.3 只有文字说明示例(情况C)

01.中间件系统
    a.中间件概念
        a.功能说明
            Django中间件是一个轻量级的插件系统,用于在请求和响应处理过程中执行全局操作。中间件可以修改请求对象、响应对象,或者在视图执行前后执行特定逻辑。
        b.代码示例
            ---
            class SimpleMiddleware:
                def __init__(self, get_response):
                    self.get_response = get_response

                def __call__(self, request):
                    response = self.get_response(request)
                    return response
            ---
    b.内置中间件
        Django提供了多个内置中间件,包括安全中间件、会话中间件、认证中间件等。这些中间件默认配置在MIDDLEWARE设置中,按顺序执行。
    c.自定义中间件
        开发者可以创建自定义中间件来实现特定功能,如日志记录、性能监控、请求限流等。中间件类需要实现__init__和__call__方法。

02.缓存机制
    a.缓存后端
        Django支持多种缓存后端,包括内存缓存、数据库缓存、文件系统缓存和Memcached。可以在settings.py中配置CACHES设置来选择缓存后端。
    b.缓存策略
        Django提供了多种缓存策略,包括全站缓存、视图缓存、模板片段缓存和低级缓存API。开发者可以根据应用需求选择合适的缓存粒度。
    c.缓存失效
        缓存失效策略包括基于时间的过期、手动清除和信号触发清除。合理的缓存失效策略可以确保数据一致性和系统性能的平衡。