Django框架中配置url路由时name的作用

当后期要修改url设置规则时,在不使用name字段的时候,不但要修改urls.py文件中的url路由,还要讲html文件中所有的相同路径进行修改,在实际应用中将会有大量的url路由,这样修改下来将会十分的麻烦。
但是,如果使用name字段只需要在urls.py 文件中将path()中的url路由修改了就行了,html文件中的则不需要修改,因为这种方式下是通过name字段来映射url的,故不用再去修改html文件了。而一般情况下name的值又是不会变化的,故后期修改起来将会十分的方便。

name参数的作用:
主要是通过name的值,来查找url地址,可以理解为反射作用。在html模板中使用name来反射url优势就是后期url规则发生改变之后,只需调整urls.py即可,所有的模板文件都不需要修改。
例如:
在urls.py文件中如下配置:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('sum/', views.add, name="add"),
    path('get_url/', views.get_url, name="test"),
    path('index/', views.index),
]

在views.py文件中写好如下的对应视图函数:

def add(request):
    return HttpResponse('你访问了第一个url路由')

def get_url(request):
    # reverse()这个函数就是根据url路由的name参数,来反向获取url地址的方法
    # 所以,url路由的name参数不仅仅可以在模板中使用{% url 'add' %},也可以在view.py中使用
    result = reverse('add1', args=(123, 456))
    return HttpResponse(result)

上述使用name字段的url路由设置方法在html文件中的应用方式如下:

	{# url是固定写法,表示当前要加载的是url地址。'add'表示url路由对应的name参数值。 #}
    {# 要加载name="add"的这个url地址。 #}
    <a href="{% url 'add' %}">第一个url路由</a>

	{# 通过name的值"add1",反向获取带有参数的url地址 #}
    <a href="{% url 'add1' 10 25 %}">计算</a>
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值