鱼C论坛

 找回密码
 立即注册
查看: 1714|回复: 4

第二个参数为什么这样写?

[复制链接]
匿名鱼油
匿名鱼油  发表于 2023-5-22 17:36:22 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
第二个参数为什么写成data_list=data_list,写成data_list不行吗?
微信图片_20230522114352.png 22.png
回复

使用道具 举报

发表于 2023-5-22 17:54:23 | 显示全部楼层
这得看render_template函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-22 18:28:24 | 显示全部楼层
这是因为在 Python 中,我们可以通过关键字参数(keyword arguments)向函数传递参数。在你的示例中, render_template  是 Flask 框架中的一个函数,它需要接收一个或多个参数,其中一部分是关键字参数。

render_template("show_user.html", data_list=data_list)  这一行代码的意思是调用  render_template  函数,传入两个参数,第一个是字符串  "show_user.html" ,第二个是关键字参数  data_list ,其值为变量  data_list 。

在 HTML 模板 "show_user.html" 中,可以通过  data_list  这个名字来访问传入的数据。如果你直接写成  render_template("show_user.html", data_list) ,Python 解释器会报错,因为它需要明确关键字参数的名称和对应的值。

所以, data_list=data_list  是告诉  render_template  函数:"这是一个名为  data_list  的参数,它的值是变量  data_list  的当前值"。

如果你想用另一个名字(如  my_data )在模板中访问这个数据,你可以这样写: render_template("show_user.html", my_data=data_list) ,这样在模板中就可以通过  my_data  访问传入的数据了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-22 21:24:51 | 显示全部楼层
isdkz 发表于 2023-5-22 18:28
这是因为在 Python 中,我们可以通过关键字参数(keyword arguments)向函数传递参数。在你的示例中, rend ...

这第二个参数必须是关键字参数吗?也就是以字典的形式?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-22 21:27:28 | 显示全部楼层
mingmei123 发表于 2023-5-22 21:24
这第二个参数必须是关键字参数吗?也就是以字典的形式?

对的,需要传递给模板的对象都要以关键字参数的形式传进去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 11:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表