Django-ModelForm到模板不提交数据

时间:2018-10-06 19:14:49

标签: python django

我的django模板未提交数据!我知道这是非常基本的事情,但是有些事情我在这里没有意识到!我的模型是:

class project(models.Model):
    Project_Name = models.CharField(max_length=50)

我的ModelForm是:

class create_project(forms.ModelForm):     
  class Meta:
     model = project
     fields = ['Project_Name']

views.py

def project_create_view(request):
    form = create_project(request.POST or None)
    msg  = ''
    if form.is_valid():
        form.save()
        msg = 'Data Submitted'
        form = create_project()
    return render(request, 'create_project.html', {'form':form, 'msg':msg})

我的模板是:

<form action="" method="POST">
    {% csrf_token %}
<table border="1">
        <tr>
            <td>
                <div>
                    <label for="id_Project_Name">Project Name</label>
                    <input type="text" name="Project_Name" id="id_Project_Name">
                </div>
            </td>
        </tr>
</table>
<input type="submit"  value="Submit">
</form>

我的上下文字典是“ form”,我尝试了很多在线搜索方式,但是没有运气,有人可以帮忙吗? 我没有粘贴所有项目,因为其余字段的情况类似。

2 个答案:

答案 0 :(得分:1)

在您的html中,

df.to_dict(orient = 'records')

[{'city': 'Dubai', 'temperature': 33},
 {'city': 'London', 'temperature': 12},
 {'city': 'San Fransisco', 'temperature': 18}]

您尚未在html中添加enctype。 注意:您可以修改视图。

答案 1 :(得分:0)

在我一个有经验的朋友的支持下,我设法以这种方式解决了这个问题:

<td>
        <div>
            <label for="{{form.Project_Name.name}}">Project Name</label>
            <input type="text" name="Project_Name" id="{{form.Project_Name.name}}">
        </div>
</td>