代码中url书写规范:
、
url反向解析
urls:
path('test/url', views.test_url),path('test_result/<int:age>', views.test_result, name="rl")
views:
def test_url(request):return render(request, 'test_url.html')def test_result(request,age):return HttpResponse("--test----result---")
templates:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<a href="http://127.0.0.1:8000/test_result">绝对地址</a>
<a href="/test_result">带‘/’的相对地址</a>
<a href="test_result">不带‘/’的相对地址</a>
<a href="{% url 'rl' '100'%}">反向解析跳转</a>
</body>
</html>
def test_result(request,age):# 302 重定向from django.urls import reversefrom django.http import HttpResponseRedirectfrom django.shortcuts import redirecturl = reverse('base',args=[10])return redirect(url)
可以使用HttpResponseRedirect和redirect进行重定向,不能直接使用HttpResponse,HttpResponse会直接输出你要重定向的url,而不是去重定向