09. Django基础:URL反向解析

一、再谈URL

1.1. 代码中URL出现的位置

  1. 模板HTML中
    • < a href=‘url’>超链接</a>:点击后页面跳转至url
    • <form action=‘url’ method=‘post’>:form表单中的数据用post方法提交至url
  2. 视图函数中 302跳转 HttpResponseRedirect(‘url’):将用户地址栏中的地址跳转到url

1.2. 代码中URL书写规范

  1. 绝对地址

    http://127.0.0.1:8000/page/1

  2. 相对地址

    • /page/1’ — ‘/’ 开头的相对地址,浏览器会把当前地址栏里的协议、ip和端口号加上这个地址,作为最终访问地址。即如果当前页面地址栏为http://127.0.0.1:8000/page/3,当前相对地址最终结果为http://127.0.0.1:8000 + /page/1
    • ‘page/1’ — 没有 ‘/’ 开头的相对地址,浏览器会根据当前url的最后一个/之前的内容,加上该相对地址作为最终访问地址。例如当前地址栏地址为http://127.0.0.1:8000/topic/detail,则该相对地址最终结果为http://127.0.0.1:8000/topic/ + page/1

二、URL反向解析

URL反向解析是指:在视图或模板中,用path定义的名称来动态查找或计算出相应的路由

path函数的语法:

path(route, views, name = "别名")

例如:

page('page', views.page_view, name="page_url")

根据path中的name=关键字传参给URL确定了个唯一确定的名字,在模板或视图中,可以通过这个名字推断出此URL信息。

模板中,通过url标签实现地址的反向解析

{% url '别名' %}
{% url '别名' '参数值1' '参数值2' %}
ex
{% url 'pagen' '400' %}
{% url 'person' age='18' name='gxn' %}

示例:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在视图函数中,可以调用django中的reverse方法进行反向解析。

在这里插入图片描述

测试:

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KaiSarH

如果觉得文章不错,可以支持下~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值