Django 中 模版.html 文件,传入变量后,其中 href = ‘{% url ‘xxxx’ 参数 1 参数 2}’ 这里参数怎么用变量?

2016-02-04 00:34:12 +08:00
 ccseven
在 写 模版文件时候,

Django 中 模版.html 文件,传入变量后, url 跳转这里
————————————————————————————————
<a href = '{% url ‘ xxxx ’ 参数 1 参数 2 %}' > 点击跳转 </a>
————————————————————————————————
这里参数怎么用变量? 还是 href 后面, 无法支持变量。

(我把变量用在同网页的其它地方就可以正确得到值)

刚开始折腾这个 ,小白一个,请大神们指点。谢谢
18985 次点击
所在节点    Django
12 条回复
wph95
2016-02-04 01:00:44 +08:00
ccseven
2016-02-04 09:37:55 +08:00
@wph95 可能表述的不太明白,抱歉。。

我的模版文档里,有个表格,这个表格的内容呢是自动生成的
[内容是根据视图里的 function 下定义的一个变量 A ,其获取 数据库里信息.objects.all() ]

然后在想在生成的表格里多加一列,里面有个 “跳转字” 关联一个 url 跳转

我现在问题是: 当我定义这个 url 跳转时候, url 的具体内容是根据 我所在的这一行里的内容,生成的。


比如我最终需要: 跳转 = xxxxx/11/22
那么我写的时候 {% url 'app-views-client' 变量 变量 %}

(问题是 我写这个 url 时候,用那个语法怎么添加这个参数是个变量, 这个参数并不是 urls.py 里正则获取的,而是视图里其中变量 A)

列 1 列 2 列 3

11 22 跳转
rim99
2016-02-04 09:38:59 +08:00
@wph95 文明版的 RTFM
ccseven
2016-02-04 09:53:47 +08:00
@wph95 补充下



<a class="btn btn-info" href=/goup/{{item.fname}}/{{item.fuser}}/ >查看</a>
这个是我现在妥协写法

<a class="btn btn-info" href= '{% url 'goup' '{{item.fname}}' '{{item.fuser}}' %}' >查看</a>

这个我期待的写法,现在就想写成 我期待的效果,但 {{item.fuser}} 好像无法在这里生效


给解析成这个样子了额

http://xxxxxxxxxxx/goup/%7B%7Bitem.fname%7D%7D/%7B%7Bitem.fuser%7D%7D/
lzsc123
2016-02-04 10:56:10 +08:00
看似字符串被转义了,加上 safe 试试看? {{item.fuser | safe}}
hardware
2016-02-04 10:58:50 +08:00
我记得%号里面是参照 python 写的 所以不要用花括号
ccseven
2016-02-04 11:05:49 +08:00
@hardware 若不加,则

http://xxxxxxxxxxx/goup/item.fname/item.fuser/
ccseven
2016-02-04 11:07:54 +08:00
@lzsc123 还是不行

http://xxxxxxxxxxx/goup/%7B%7Bitem.fname%7Csafe%7D%7D/%7B%7Bitem.fuser%7Csafe%7D%7D/
lzsc123
2016-02-04 12:07:23 +08:00
'{{item.fname}}' 这里的引号去掉呢
ccseven
2016-02-04 12:27:44 +08:00
@lzsc123 不行的,直接页面会打不开 Error during template rendering



Django Version: 1.8.8
Exception Type: TemplateSyntaxError
Exception Value:
Could not parse the remainder: '{{item.fname}}' from '{{item.fname}}'
jimmyye
2016-02-04 16:38:35 +08:00
<a class="btn btn-info" href= "{% url 'goup' item.fname item.fuser %}" >查看</a>
ccseven
2016-02-04 16:50:59 +08:00
@jimmyye 非常 非常感谢

官网文档 其实看了,还是自己理解不深刻。我看到文档时候,按它举例,
我把 client 认为是 视图里其中一个 def client()
然后套用到我自己配置,我也这样写了个 功能. 定义 url 时候捕获名 结果 @—@

------------官网举例---------------

('^client/([0-9]+)/$', app_views.client, name='app-views-client')



{% url 'app-views-client' client.id %}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/255296

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX