什么是'实例' forms.Form的关键字参数替代方案?

时间:2016-02-15 12:37:06

标签: django forms

我正在使用django来保存数据库。在我的视图功能中,我使用了:

form = RecipeForm(instance=Recipe)

其中Recipe是我的模型的名称。

当我转到网址时,我收到以下错误:

__init__() got an unexpected keyword argument 'instance'

我四处搜寻,发现'实例'专门用于模型表格。 form.Form还有其他选择吗?如果是这样,有人能指出我正确的方向吗?

修改

这是我在views.py中的完整功能

def recipe_edit(request, pk):
    recipe = get_object_or_404(Recipe, pk=pk)
    if request.method == "POST":
        form = RecipeForm(request.POST, instance=Recipe)
        if form.is_valid():
            recipe = form.save(commit=False)
            recipe.user = request.user
            recipe.save()
            return redirect('recipe_detail', pk=recipe.pk)
    else:
        form = RecipeForm(instance=Recipe)
    return render(request, 'recipe_edit.html', {'form': form})

这是我在forms.py中的表单

class RecipeForm(forms.Form):   
    title= forms.CharField(max_length=500)
    description = forms.CharField(max_length=500)

1 个答案:

答案 0 :(得分:0)

您可以在实例化表单时传递initial字典。

initial = {'title': recipe.title, 'description': recipe.description}
form = RecipeForm(initial=initial)