当前位置: 首页 > news >正文

Django动态路由实例

Django动态路由实例

先说需求:

比如我前端有两个按钮,点击按钮1跳转到user1的用户信息页面,按钮2跳转user2用户信息页面,但是他俩共用同一个视图层

直接上代码

路由层

urlpatterns = [path('user/<str:username>/', views.user_home, name='user_home'),
]

<str:username>:获取前端输入的内容,并传递给视图层

模板层

<button onclick="window.location.href='{% url 'Blog:user_home' username='user1' %}'">用户1信息</button>
<button onclick="window.location.href='{% url 'Blog:user_home' username='user2' %}'">用户2信息</button>

定义两个按钮作为跳转

视图层

def user_home(request, username):user_info = usernameprint(username)return render(request, 'adv2.html', locals())

user_info:获取前端传递的username参数,并用locals()返回给adv2.html页面

渲染

adv2.html内容如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
我是{{ user_info }}
</body>
</html>

此时点击按钮1:

image-20240320120745419

点击按钮2:

image-20240320120807529

示例

实际应用中username的参数肯定也是不固定的,因此批量应用就需要用到for循环语法

前端按钮:

{% for adv in adv_list %}
<button onclick="window.location.href='{% url 'Blog:user_home' username=adv.id %}'">查看用户{{ adv.id }}信息</button>
{% endfor %}

从视图层传入adv_list的数据

def adv(request):adv_list = Adv.objects.all()return render(request, 'adv.html', locals())

user_home视图不变

def user_home(request, username):user_info = usernameprint(username)return render(request, 'adv2.html', locals())
http://www.lryc.cn/news/322045.html

相关文章:

  • 基于Vue.js和D3.js的智能停车可视化系统
  • 数据之王国:解析Facebook的大数据应用
  • 前端小白的学习之路(ES6 一)
  • Linux CentOS 7.6安装Redis 6.2.6 详细保姆级教程
  • Android 优化 - 数据结构
  • Linux环境开发工具之vim
  • 「Linux系列」Shell介绍及起步
  • 用pdf2docx将PDF转换成word文档
  • STM32U5 ADC 自校准不成功的问题分析
  • 使用光标精灵更换电脑鼠标光标样式,一键安装使用
  • 微服务day04(上)-- RabbitMQ学习与入门
  • Halcon 3D 平面拟合(区域采样、Z值过滤、平面拟合、平面移动)
  • npm 插件 中 版本号为 星号 是什么意思
  • Codeforces\ Round\ 930(C.Bitwise Operation Wizard)
  • 监控系统prometheus+grafana+发送告警信息
  • IoT 物联网场景中如何应对安全风险?——青创智通
  • 滴滴基于 Clickhouse 构建新一代日志存储系统
  • 虚拟主机去除index.php目录地址
  • JD商品详情原数据 API 返回值说明
  • python日常刷题(一)
  • Python 利用pandas和mysql-connector获取Excel数据写入到MySQL数据库
  • Stable Diffusion训练图片时,简陋的数据处理
  • 如何在ubuntu 18.04中升级python 3.6到3.7
  • python爬虫基础实验:通过DBLP数据库获取数据挖掘顶会KDD在2023年的论文收录和相关作者信息
  • 简单记录一次帮维修手机经历(Vivo x9)
  • ap聚类是什么
  • C数据类型(C语言)---变量的类型决定了什么?
  • axios、axios二次封装、api解耦
  • HTML 特殊元素:展示PDF、展示JSON 数据
  • 算法·动态规划Dynamic Programming