django 中的反向解析
django反向解析的优点:
如果在视图,模板中使用硬编码连接,在url配置发生改变时,需要变更的代码会非常多,这样导致我们的代码结构不是很容易维护,使用反向解析可以提高我们代码的扩展性和可维护性。
django中反向解析的使用包含:
1)在根url中使用namespace,path('views/', include('mainapp.urls',namespace='view'))
2)在app的urls上使用name,url('^hello/(\d+)',views.hello,name='sayhello'),这里需要注意:urls.py文件中必须声明app_name
3)在html中使用,{% url 'namespace:name' %}
如:{% url 'view:sayhello' %},如果存在参数传值:
1)关键字传值,在后面添加 key=value,多个参数使用空格隔开,如:{% url 'view:sayhello' name='hehe' page=5 %}
2)位置参数,在后面直接添加参数值,多个参数用空格隔开,如:{% url 'view:sayhello' 'hehe' 5 %}
4)view函数中,def sayhello(request,name,page)
总体的举例:
在python 中的使用