我的Django应用程序没有用户登录。任何人都可以访问该应用程序并在不同的歌曲列表上投票。我想要的是,当用户投票时,不应该允许用户在该列表中再次投票。
这是我的AJAX代码
ajax.py
from django.contrib.sessions.models import Session
s = SessionStore()
@dajaxice_register
def update_disable(request):
#updates song votes and disables all vote buttons on page
s['can_vote'] = False
s.save()
return dajax.json()
我需要获得session_key,我认为这样做。我怎么做到的?文档在这方面并不十分清楚。
这就是我在HTML中所做的事情
{% if perms.hunt.can_vote %}
<button type="button" class="btn btn-default btn-custom vote" onclick="update();">Vote as Favourite</button>
{% else %}
<button type="button" class="btn btn-default btn-custom vote" disabled="disabled">Vote as Favourite</button>
{% endif %}
我是否正确接近了Djnago Session概念?对此有任何建议表示赞赏。
答案 0 :(得分:1)
来自Django文档:How to use sessions
Django为匿名会话提供全面支持。会话框架允许您基于每个站点访问者存储和检索任意数据。它在服务器端存储数据并抽象发送和接收cookie。
在那里你可以找到:
您可以将Cookie用于存储用户已投票的列表。