Django-Secretballot 不起作用?

2 投票
1 回答
803 浏览
提问于 2025-04-16 17:48

我正在使用一个叫做 Django-secretballot 的应用,它可以让投票保持匿名。首先,我们需要为秘密投票注册一个模型,然后有一个叫做 add_vote() 的函数,这个函数需要两个参数:一个是“Token”,另一个是投票值(+1 或 -1)。

来自 文档 的内容:

add_vote:

这个函数接受一个 token 和一个投票值(+1 或 -1),并为这个 token 添加或更新投票(可以通过传递 add_vote_name 参数给 enable_voting_on 来重命名)。

我应该把什么放在“Token”里呢?我在我的 views.py 里用了这个:

t=request.META['REMOTE_ADDR']
feed.add_vote(t,+1)

但是它并没有工作。我的意思是,如果我在不同的机器上投票,只有第一次的投票会被计算。其他人对同一个投票内容的投票不会增加计数。

有没有人使用过这个应用,或者通过查看 文档 找到我哪里出错了?请帮帮我。

1 个回答

2

我是这个项目的作者,虽然我最近没有积极开发它,但我希望你能觉得它有用。

token可以是你需要的任何唯一字符串,通常来说你现在用的应该没问题,但有可能你在使用代理,或者你的服务器配置中REMOTE_ADDR有其他问题(这些我就帮不了你了)。

检查一下REMOTE_ADDR的值是否真的在变化,同时可以考虑把REMOTE_ADDR和其他东西结合使用,比如用户代理(User Agent)或者存储在cookie中的唯一值。

撰写回答