2013-08-01 73 views
0

我有一个问题:我想单击模板页面上的一个项目,并将相应的键传递给views.py,我该怎么做?非常感谢你。从模板中的部分代码如下:Django:如何将参数从模板传递到视图

{% for key,value in wordList.items %} 

     <li><a href="{% url 'infoRetriever:sitelist' %}" data-weight={{ value }} >{{ key }}</a></li> 

    {% endfor %} 

增加:

例如,现在我在URL www.example.com/results.html。在页面上有一个键列表:key1,key2,key3 ...当我点击一个链接'key1'时,该页面将被定向到www.example.com/sitelist/key1 我该怎么做?谢谢。

+0

您可以从渲染模板向视图发出ajax请求 – dm03514

+0

您需要将点击的项目作为页面的链接(并通过URL中的正则表达式传递参数),或者需要使用像JavaScript的东西来做客户端操作。 –

回答

0

不幸的是,您不能直接从模板传递到视图,尽管您可以从视图传递到模板。你需要做的是使用AJAX并编写另一个处理GET或POST请求并返回一些数据的视图,或者使用一个链接将某人完全发送到新页面。

编辑:

此外,只需在模板中修改您的链接。所以:

{% for key,value in wordList.items %} 
     <li><a href="/sitelist/{{ key }}" data-weight={{ value }}{{ key }}</a></li> 
    {% endfor %} 

由于使用{{key}}只是转储了变量的文本,所以会动态地创建您的链接。

+0

谢谢,我对这个问题有了更新,你可以看看吗? – Robert

+0

更好的方法是松开'{{key}}',而不是使用'{%url'infoRetriever:sitelist'key%}',因为您的网址需要捕捉关键参数才能使其工作并因此可以反转办法。您应该尽量不要将您的网址硬编码到您的模板中。 – knbk

相关问题