Python 将记录从数据库显示到模板

Python 将记录从数据库显示到模板,python,django,django-models,django-views,django-templates,Python,Django,Django Models,Django Views,Django Templates,嗨,我正在建立一个项目,其中有一个登录用户提交的表单,因此用户可以提交表单多次我使用ForeignKey。 现在,我正在努力显示与用户关联的所有记录。 例如:用户“abc”有填写表单,他再次来填写表单,所以我想在我的模板中显示用户abc的表单详细信息,我缺少django的新内容 views.py def PostTest(request): if request.method == 'POST': test = UserTest() test.user

嗨,我正在建立一个项目,其中有一个登录用户提交的表单,因此用户可以提交表单多次我使用ForeignKey。 现在,我正在努力显示与用户关联的所有记录。 例如:用户“abc”有填写表单,他再次来填写表单,所以我想在我的模板中显示用户abc的表单详细信息,我缺少django的新内容

views.py

def PostTest(request):
    if request.method == 'POST':
        test = UserTest()
        test.user = request.user
        test.name = request.POST['name']
        test.email = request.POST['email']
        test.location = request.POST['location']
        test.time = request.POST['time']
        test.save()
        return render(request, 'posts/test.html')

因此,我希望在用户多次填写表单时,在我的模板中归档该位置,因此我希望在django模板中保存该用户的所有位置,某些循环可能会起作用,但新手不知道如何使用它。

您需要迭代用户保存的所有表单,因此,要么在渲染的上下文中从views.py文件发送它们,要么在模板本身中获取它们

def PostTest(request):

if request.method == 'POST':
        test = UserTest()
        test.user = request.user
        test.name = request.POST['name']
        test.email = request.POST['email']
        test.location = request.POST['location']
        test.time = request.POST['time']
        test.save()
        submitted_form = UserTest.objects.filter(user=request.user)
        return render(request, context={'forms': submitted_form}, 'posts/test.html')
在html文件中

{% for form in forms %}
{{ form.location }}
{% endfor %}

如果
UserTest
User
之间存在外键关系,请查看Django的文档,以便更好地理解,如下所示:

class UserTest(models.Model)
    user = models.ForeignKey(User)
{% for ut in user.usertest_set.all %}
    {{ ut.location }}
{% endfor %}
然后,您可以简单地获得如下位置数据:

class UserTest(models.Model)
    user = models.ForeignKey(User)
{% for ut in user.usertest_set.all %}
    {{ ut.location }}
{% endfor %}

我正在使用
User
UserTest
模型进行此查询。

除非您明确地将其设置为其他类型,否则反向关系描述符名为
UserTest\u set
,而不是
UserTest
。不相关,但您自己做(以及您的用户和维护此应用程序的人)一个优点:使用模型表单-用户输入必须经过清理和验证。