我想创建一个应用程序,允许使用ContentTypes(如文档中的评论框架或标签示例)对任何模型进行投票(竖起大拇指和竖起大拇指,非常像SO中的问题和答案)。 / p>
我只是设置模型和模板标签,可以获得投票数等。 让我感到困惑的是什么应该是投票的最佳方式。
这是投票类:
class Vote(models.Model):
TYPES_VOTE = (
( 'POS', 'Positive' ),
( 'NEG', 'Negative' ),
)
type = models.CharField(max_length=3, choices=TYPES_VOTE, default=None)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField(db_index=True)
我写了一个简单的视图,它接收内容类型,对象ID和投票类型(向上或向下)。但我不知道调用此视图的最佳方法。一些可能性:
通过GET请求投票,urls.py将捕获请求并传递正确的内容类型(例如:url(r'^question/(?P<question_id>)/vote/(?P<vote_type>)/$', voting_views.vote, {'content_type' : ContentType.objects.get_for_model(Question()) }, name='vote_question'),
)
通过POST请求投票,为具有对象的ContentType和投票类型的投票创建表单。我不确定如何实现这一点,如果模板中的每个模型都有两个表格可以投票。
有什么想法吗?
答案 0 :(得分:2)