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.缓存失效
缓存失效策略包括基于时间的过期、手动清除和信号触发清除。合理的缓存失效策略可以确保数据一致性和系统性能的平衡。