【发布时间】:2014-04-18 15:29:17
【问题描述】:
我有一个简单的输入和显示系统,用于在单个网页上输入短文本。文本输入只是一个在视图中带有 GET 的输入字段。我想在页面上为最新条目提供一个非常基本的向上或向下投票系统。我可以将最新条目放入变量中...
网上有人暗示可以将变量传递给js,这是我的第一个停靠点。
我还没有使用过表单或 POST,因为它似乎包含对我的基本需求而言不必要的 url 和代码。谁能告诉我如何将变量传递给 js?
这是一些sn-ps的代码;
模板
<script type="text/javascript">
{% for entry in voting_entry %}
var votingEntry="{{entry.id}}"
{% endfor %}
</script>
<script type="text/javascript" src="{{STATIC_URL}}vote.js"></script>
vote.js
$(document).ready(function() {
$("#votingEntry").bind("keypress", function(e) {
if (e.keyCode == 38) {
var vote = $("#votingEntry").val();
var args = {'vote':vote};
$.get("/vote/", args).done(function(data) {
location.reload();
});
}
});
观看次数
def index(request):
context = {
'latest_entry_list': Entry.objects.order_by('-pub_date')[:10],
'high_entry_list': Entry.objects.order_by('-score')[:10],
'low_entry_list': Entry.objects.order_by('score')[:10],
'voting_entry': Entry.objects.order_by('-pub_date')[:1],
}
return render(request, 'entries/index.html', context);
*snip*
def vote(request):
voting_id = request.GET.get('vote')
v = Entry.objects.get(pk='voting_id')
v.score +=1
v.save()
return HttpResponse('votedone')
【问题讨论】:
标签: javascript django vote