python – 如何在按钮单击时调用Django函数?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何在按钮单击时调用Django函数?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1514字,纯文字阅读大概需要3分钟。
内容图文
我正在尝试编写一个Django应用程序,但我仍然坚持在单击按钮时可以调用视图函数.
在我的模板中,我有一个链接按钮,如果点击它会带你到另一个网页:
<a target="_blank" href="{{ column_3_item.link_for_item }}">Check It Out</a>
单击该按钮时,我还想调用Django视图功能(同时重定向到目标网站).视图函数会增加数据库中的值,该值存储单击按钮的次数.
column_3_item.link_for_item是指向外部网站(例如www.google.com)的链接.现在,当点击该按钮时,它会打开一个新窗口,将您带到谷歌网站.
我想要做的是在单击按钮时调用Django视图函数,该按钮更新数据库而不刷新页面.我怎么能做到这一点?
解决方法:
这是一个纯粹的JavaScript,简约的方法.我使用JQuery但您可以使用任何库(or even no libraries at all).
<html>
<head>
<title>An example</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
function call_counter(url, pk) {
window.open(url);
$.get('YOUR_VIEW_HERE/'+pk+'/', function (data) {
alert("counter updated!");
});
}
</script>
</head>
<body>
<button onclick="call_counter('http://www.google.com', 12345);">
I update object 12345
</button>
<button onclick="call_counter('http://www.yahoo.com', 999);">
I update object 999
</button>
</body>
</html>
替代方法
您可以通过以下方式更改链接,而不是放置JavaScript代码:
<a target="_blank"
class="btn btn-info pull-right"
href="{% url YOUR_VIEW column_3_item.pk %}/?next={{column_3_item.link_for_item|urlencode:''}}">
Check It Out
</a>
并在您的views.py中:
def YOUR_VIEW_DEF(request, pk):
YOUR_OBJECT.objects.filter(pk=pk).update(views=F('views')+1)
return HttpResponseRedirect(request.GET.get('next')))
内容总结
以上是互联网集市为您收集整理的python – 如何在按钮单击时调用Django函数?全部内容,希望文章能够帮你解决python – 如何在按钮单击时调用Django函数?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。