在Django中使用帐户和用户生成的数据

在Django中使用帐户和用户生成的数据,django,web-applications,Django,Web Applications,我还没有找到关于这个主题的任何文档或教程,也没有在IRC频道上收到任何答案,所以这让我觉得我在寻找错误的东西。不管怎么说,经过几个小时的搜索后,我还是求助于此。我将试着用例子来描述我所追求的: 我想创建一个web应用程序,用户可以在其中创建一个帐户(这一部分非常清楚) 登录后,用户将能够存储他最喜欢的饭菜 当用户登录时,他会看到他最喜欢的食物列表,他可以编辑它们 我了解用户如何创建帐户和登录。但之后的一切都有点模糊 假设用户登录后,会收到一张他可以填写和保存的表单。数据库(模型)应如何设计来处理

我还没有找到关于这个主题的任何文档或教程,也没有在IRC频道上收到任何答案,所以这让我觉得我在寻找错误的东西。不管怎么说,经过几个小时的搜索后,我还是求助于此。我将试着用例子来描述我所追求的:

  • 我想创建一个web应用程序,用户可以在其中创建一个帐户(这一部分非常清楚)
  • 登录后,用户将能够存储他最喜欢的饭菜
  • 当用户登录时,他会看到他最喜欢的食物列表,他可以编辑它们
  • 我了解用户如何创建帐户和登录。但之后的一切都有点模糊

    假设用户登录后,会收到一张他可以填写和保存的表单。数据库(模型)应如何设计来处理此问题?每个用户是否都有自己的表?如何从数据库中检索用户存储的数据(即喜爱的食物)

    这些都是我在学习django/编程的过程中试图弄明白的事情,正如我所说的,我还没有在我读过的任何书籍、文档或教程中发现它的描述


    如果您能为我指出正确的方向,我将不胜感激。我觉得我在这里遗漏了一些东西。

    您所寻找的是django非常基本的部分。我建议您阅读本教程。这将让您了解如何使用模型关系来存储数据

    基本材料:

  • 为模型中的用户创建外键
  • 从表单中取消显示用户字段
  • 使用commit=False保存表单,将用户设置为经过身份验证的用户并保存模型
  • 剩下的你可以直接从教程中得到

    例如:

    # At models.py
    from django.contrib.auth.models import User
    
    
    class FavoriteMeal(models.Model):
        user = models.ForeignKey(User)
        # other fields...
    
    # At forms.py
    class FavoriteMealForm(forms.ModelForm):
        class Meta:
            model = FavoriteMeal
            exclude = ('user', )
    
    # At views.py
    @login_required
    def favorite_meals_view(request):
        favorite_meals = FavoriteMeal.objects.filter(user=request.user)
        ...
        if request.method == 'POST':
            form = FavoriteMealForm(request.POST)
            if form.is_valid():
                favorite_meal = form.save(commit=False)
                favorite_meal.user = request.user
                favorite_meal.save()
        ...
    

    我阅读了本教程,但它不涉及用户帐户。