url django模板的动态参数
Posted
技术标签:
【中文标题】url django模板的动态参数【英文标题】:Dynamic parameter of url django template 【发布时间】:2020-01-02 03:03:19 【问题描述】:在一个 html 页面中,我有两个单选按钮,其值为 A 和 B。 我还有一个需要两个参数的视图的 url,一个是我可以通过 django 上下文变量轻松访问的参数,但第二个参数应该具有值 A 或 B,具体取决于选中的单选按钮。 我不知道如何完成这项工作。
我把这个帖子加红了:Get javascript variable's value in Django url template tag 这有点像我正在寻找的东西,但我不明白如何在我的情况下实现它。
还查看了这篇文章:https://www.reddit.com/r/django/comments/39q9lm/url_tag_in_template_with_a_dynamic_parameter/ 这几乎是相同的概念。
我在模板中尝试做的是:
<option value="% url 'view' tmp i %".replace(/tmp/, 'A');> </option>
这不是我的目标,但它只是为了检查这是否有效。但这对我不起作用。当然,我的目标不是将 tmp 替换为“A”,而是根据用户在我的 html 页面中选中的单选按钮替换为“A”或“B”。 单选按钮的 ID 为 radio1、radio2。
我当然可以使用 javascript,但我想远离 JQuery 或 Ajax 或其他一般的东西..
任何帮助表示赞赏 谢谢
【问题讨论】:
【参考方案1】: `
<option id="mylink" value="% url 'view' A i %"> </option>
<id='radio1' onmousedown="document.getElementById('mylink').value = '% url 'view' tmp i %'.replace('tmp', 'A')">
<id='radio2' onmousedown="document.getElementById('mylink').value = '% url 'view' tmp i %'.replace('tmp', 'B')">
然后当您选择单选按钮时,它会将 # 更改为正确的链接
【讨论】:
replace('tmp', 'A');
是我想要的“动态”。我的意思是如果选中radio1,我应该用'A'替换,否则我应该用'B'替换。这就是目标,但是对于您提到的命令,无论如何我总是用“A”替换?
发布完整的 html 单选按钮代码。您可以对两个单选按钮执行类似“onmousedown”的操作,当单击单选按钮时,它会将链接更改为选中的那个。
Html 太乱,多页。但是需要的元素是这些:<input id="radio1 type="radio" value="A" name="AB" checked> <input id="radio2 type="radio" value="B" name="AB">
,想法是:如果选中radio1,则将url的参数替换为A,如果选中radio2,则将url的参数替换为B...
嗯,这就是我所能去的,没有看到你点击去“查看”的链接。 (我假设它转到提交按钮/命令上的 url,而不是单选按钮选择上,是吗?如果你想切换?我必须查看提交命令的 html 才能执行更多操作。
好的,我认为这可能有效,我会尽快尝试,如果有效,我会将其标记为已接受,谢谢以上是关于url django模板的动态参数的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将查询参数传递给 Django % url % 模板标签?