在Django中存储用户响应

时间:2015-03-09 21:00:09

标签: python django

我对Django很新,所以我完全迷失了一些可能不会太难的事情,我需要有人指出我正确的方向。我正在开展一个学校项目,根据他们对之前文章的评价,我们为用户推荐维基百科文章。我正在尝试制作一个UI,它会给用户一篇文章,让他们从1到5评价它,将所有用户的响应发送到另一个函数,然后让这个函数吐出一个新的维基百科页面ID。导致我最麻烦的部分是弄清楚如何跟踪每个用户的所有响应以作为另一个功能的输入发送。我在线查看,找不到任何简单的方法来存储不断变化的用户信息字典。

1 个答案:

答案 0 :(得分:0)

首先,您使用的是数据库吗?使用django,创建数据库非常容易。首先,您需要在app的models.py中定义模型。定义两个不同的模型(这与数据库中的表有关)。比如说:

from django.db import models
class AppUser(models.Model):
  name = models.TextField()

class WikiPage(models.Model):
  page_url = models.TextField()
  category = models.TextField() #this field can be used to suggest new wiki pages
  feeling = models.TextField() #This field can be used to suggest new wiki pages.

class WikiPageRating(models.Model):
  user = models.ForeignKey(AppUser)
  wiki = models.ForeighKey(WikiPage)
  rating = models.IntegerField() #Save your ratings here.

下一步在您的应用的views.py下,创建一个查看所有用户评级的功能,并使用您的算法吐出新建议。

from yourapp.models import WikiPageRating
def spit_out_wiki_suggestion(user):
  past_ratings = WikiPageRating.objects.filter(user = user)
  #Use the Past Ratings to figure out how to pick wiki.
  #return the wikipedia page suggestion.

  return wikipediapage

我希望有所帮助。