Python 如何将表单对象传递到html并在django中使用对象中的每个项

Python 如何将表单对象传递到html并在django中使用对象中的每个项,python,django,django-forms,Python,Django,Django Forms,我有一个名为user form(UserMyProfilePersonalForm)的类 然后在我的视图文件中,我创建了这个类的一个对象 newUserMyProfilePersonalForm = UserMyProfilePersonalForm.from_json(user_detail) print(newUserMyProfilePersonalForm.email) context_data = {"newUserMyProfilePersonalForm":

我有一个名为user form(UserMyProfilePersonalForm)的类

然后在我的视图文件中,我创建了这个类的一个对象

    newUserMyProfilePersonalForm = UserMyProfilePersonalForm.from_json(user_detail)
    print(newUserMyProfilePersonalForm.email)
    context_data = {"newUserMyProfilePersonalForm": newUserMyProfilePersonalForm}
    return render(request, "home.html", context_data)
现在我不知道如何获取HTML中的数据。我尝试了很多东西 1.下面的代码将所有值打印为dummyusername、fname、lname、,email@gmail.com,10/05/1990... 此输出看起来与str函数相同

{{newUserMyProfilePersonalForm}}
  • 我尝试了
    {{newUserMyProfilePersonalForm.as_p}}
    ,但这会将所有项目打印为带有文本框和标签的表单,但文本框中没有任何值

  • 我希望有一个文本框,其中的值作为用户数据,例如电子邮件、用户名,因为我想创建“编辑配置文件”部分。

    因此,经过两天的努力和阅读文档,我找到了它。 答案很简单

    表单
    newUserMyProfilePersonalForm=UserMyProfilePersonalForm.from_json(user_detail)
    实际上无效。 我运行了
    newUserMyProfilePersonalForm.is\u valid()
    ,并将
    False
    作为输出

    当表单无效时,由于我使用它的方式,无法将其呈现为html项

    下面是一个标准的方法

    if request.method = "POST":
        obj = userform(request.POST)
        if obj.is_valid():
            <do something with it>
        else:
            <return the invalid form to the user to show the errors>
    
    else:
        obj = userform()
       <return this blank obj form to user so that whe can fill it>
    
    if request.method=“POST”:
    obj=userform(request.POST)
    如果对象有效():
    其他:
    其他:
    obj=userform()
    

    就这样。就这么简单。

    所以经过两天的努力和阅读文档后,我找到了答案。 答案很简单

    表单
    newUserMyProfilePersonalForm=UserMyProfilePersonalForm.from_json(user_detail)
    实际上无效。 我运行了
    newUserMyProfilePersonalForm.is\u valid()
    ,并将
    False
    作为输出

    当表单无效时,由于我使用它的方式,无法将其呈现为html项

    下面是一个标准的方法

    if request.method = "POST":
        obj = userform(request.POST)
        if obj.is_valid():
            <do something with it>
        else:
            <return the invalid form to the user to show the errors>
    
    else:
        obj = userform()
       <return this blank obj form to user so that whe can fill it>
    
    if request.method=“POST”:
    obj=userform(request.POST)
    如果对象有效():
    其他:
    其他:
    obj=userform()
    

    就这样。就这么简单。

    几个问题:1
    UserMyProfilePersonalForm
    是一个
    ModelForm
    。您不需要再次定义所有字段。是否可以删除这些重复的定义?2.您只在
    字段中包含了
    电子邮件
    字段。3.为什么要将表单数据解析为JSON。我的模型表单基本上是空的,我没有使用它。我通过webservices以json格式获取数据,因此我使用json创建
    UserMyProfilePersonalForm
    对象。from对象是使用json创建的,正如我所提到的,我确实以HTML格式获取数据,但不是我想要的方式。我想要一个表单文件,例如电子邮件,其中包含来自此对象的数据。您能在问题中描述/添加您从web服务获得的数据吗?几个问题:1
    UserMyProfilePersonalForm
    是一个
    ModelForm
    。您不需要再次定义所有字段。是否可以删除这些重复的定义?2.您只在
    字段中包含了
    电子邮件
    字段。3.为什么要将表单数据解析为JSON。我的模型表单基本上是空的,我没有使用它。我通过webservices以json格式获取数据,因此我使用json创建
    UserMyProfilePersonalForm
    对象。from对象是使用json创建的,正如我所提到的,我确实以HTML格式获取数据,但不是我想要的方式。我想要一个表单文件,例如电子邮件,其中包含来自此对象的数据。您能否在问题中描述/添加您从web服务获得的数据?