使用Django表单值更新表单输入

时间:2018-07-13 22:27:03

标签: python django forms

我正在尝试将旧版数据库条目传递给Django表单。

我使用django inspectdb方法创建了模型。

类似于:

class Form(models.Model):
    date_entered = models.DateField(blank=True, null=True)
    date_needed = models.DateField(blank=True, null=True)
    client = models.CharField(max_length=50, blank=True, null=True)
    project_no = models.CharField(max_length=50, blank=True, null=True)
    map_no = models.CharField(max_length=10, blank=True, null=True)
    contact = models.CharField(max_length=50, blank=True, null=True)

我已经在views.py中创建了相应的视图。

def post_edit(request, pk):
    post = get_object_or_404(Form, pk=pk)
    if request.method == "POST":
        form = PostForm(request.POST, instance=post)
        if form.is_valid():
            post = form.save(commit=False)
            post.author = request.user
            post.published_date = timezone.now()
            post.save()
            return redirect('post_detail', pk=post.pk)
    else:
        form = PostForm(instance=post)
    return render(request, 'blog/post_edit.html', {'form': form})

在我的post_edit.html中。

<input type="text" class="form-control" name="client" value= '{{ form.client.value }}' required/>
<input type="text" name="projectno" class="form-control" value= '{{ form.project_no.value }}' required/>
..
<input type="text" name="jobcontact" class="form-control" value='{{ form.contact.value }}' required/>

客户 project_no 起作用(在表单上生成值),而联系人则不起作用。我已经验证了模型中的名称以及db表中是否存在该值。

我应该为这些输入值传递其他信息。我是django的新手。请帮助。

编辑:添加类PostForm()。如接受的答案中所标识的,仅两个字段已添加到类PostForm()中。添加restig类后,表单将填充值。

class PostForm(forms.ModelForm):

    class Meta:
        model = Form
        fields = ('project_no', 'client',)

0 个答案:

没有答案