Django中路由传值

本教程主要内容为Django中路由传值

一、设置

  1. 路由设置
path('var/<value_var>')
#注:变量名要放入<>里,并且要与views中的传入的参数要一致
  1. 可以限制传入的类型
  • str - 匹配除了 ‘/’ 之外的非空字符串。如果表达式内不包含转换器,则会默认匹配字符串。
  • int - 匹配0或任何正整数。返回一个 int 。
  • slug - 匹配任意由 ASCII 字母或数字以及连字符和下划线组成的短标签。比如,building-your-1st-django-site 。
  • uuid - 匹配一个格式化的 UUID 。为了防止多个 URL 映射到同一个页面,必须包含破折号并且字符都为小写。比如,075194d3-6885-417e-a8a8-6c931e272f00。返回一个 UUID 实例。
  • path - 匹配非空字段,包括路径分隔符 ‘/’ 。它允许你匹配完整的 URL 路径而不是像 str 那样匹配 URL 的一部分。
    3.例如
#路由部分

from django.urls import path,include
from . import views
urlpatterns = [
    path('article_detail/<int:article_id>', views.article_detail,name='article_detail'),
]

#views部分

from django.http import HttpResponse
def article_detail(request,article_id):
    return HttpResponse('文章id:%s'% article_id)

注:path中的article_id与views中的def article_detail(request,article_id)传参要一致

二、在templates中传参到path

1.反向解析

<a href="{% url 'path_name'  路由中的变量 %}">显内容</a>

2.例

#html中的内容
{% for tem in article_ids %}
<h3><a href="{% url 'article_detail' tem.pk %}">{{tem.title}}</a></h3>
{% endfor %}

其中tem.pk是传递的值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值