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'})
---