代参反向解析有两种形式,一种是类似位置传参,一种类似关键字传参,写本篇博客因为自己遇到过类似问题,所以总结一下问题,以免下次再犯错。
1、非命名传参(位置传参)
修改urls.py
urlpatterns = [
url(r"^test_url/(\d+)/$", view.test_view2, name='test_two'),
]
修改views.py
def test_view1(request):
return render(request, 'index.html')
def test_view2(request, id): # 位置传参随便取什么名
return HttpResponse(id)
修改index.html
反向解析<a href="{% url 'test_app:test2' 2 %}"></a>
打开渲染号的html文件
反向解析<a href="test/test_url/2/"></a>
1、命名传参(关键字传参)
修改urls.py
urlpatterns = [
url(r"^test_url/(?P<a>\d+)/$", view.test_view2, name='test_two'),
]
修改views.py
def test_view1(request):
return render(request, 'index.html')
def test_view2(request, a): # 关键字传参必须名字和命名的参数一样
return HttpResponse(a)
修改index.html
反向解析<a href="{% url 'test_app:test2' a=2 %}"></a>
打开渲染号的html文件
反向解析<a href="test/test_url/2/"></a>