代码中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 reverse
from django.http import HttpResponseRedirect
from django.shortcuts import redirect
url = reverse('base',args=[10])
return redirect(url)
可以使用HttpResponseRedirect和redirect进行重定向,不能直接使用HttpResponse,HttpResponse会直接输出你要重定向的url,而不是去重定向