app1.url.py
from django.urls import path, re_path
from . import views
urlpatterns = [
path('index', views.index, name='index'),
path('test', views.test, name='test'),
path('test_int/<int:id>/', views.test_int, name='test_int'),
path('test_str/<str:strdata>/', views.test_str, name='test_str'),
path('test_slug/<slug:slugdata>/', views.test_slug, name='test_slug'),
path('book_uuid/<uuid:bookuuid>/', views.book_uuid, name='book_uuid'),
re_path(r'article_list/(?P<year>\d{4})/', views.article_list, name='article_list'), # 用re_path()方法正则匹配复杂路由
re_path(r'article_page/(?P<page>\d+)&key=(?P<key>\w+)', views.article_page, name='article_page'), # 用re_path()方法正则匹配复杂路由
]
app1.views.py
from django.http import HttpResponse
from django.shortcuts import render
def index(request):
return HttpResponse("app1 的index")
def test(request):
return render(request, '1/index.html', {})
def test_int(request, id):
# 你可以在这里使用 'id',比如从数据库获取对应的数据
# ...
response = HttpResponse(f"test_int路由访问参数:{id}")
response['Content-Type'] = "text/html; charset=utf-8"
return response
def test_str(request, strdata):
# 你可以在这里使用 'id',比如从数据库获取对应的数据
# ...
response = HttpResponse(f"test_str路由访问参数:{strdata}")
response['Content-Type'] = "text/html; charset=utf-8"
return response
def test_slug(request, slugdata):
# 你可以在这里使用 'id',比如从数据库获取对应的数据
# ...
response = HttpResponse(f"test_slug路由访问参数:{slugdata}")
response['Content-Type'] = "text/html; charset=utf-8"
return response
from uuid import UUID
def book_uuid(request, bookuuid: UUID):
# 在这里,'bookuuid' 是一个UUID 对象。
return HttpResponse(f"Book's UUID is: {str(bookuuid)}")
# 用re_path()方法正则匹配复杂路由
def article_list(request, year):
return HttpResponse(f"文章列表年份是:{year}")
# 用re_path()方法正则匹配复杂路由
def article_page(request, page, key):
return HttpResponse(f"文章页数是:{page},{key}")