如何在数据库中输入Django表单信息

2024-06-25 06:41:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在django站点上看到了表单文档,我想知道如何将数据添加到DB中。你知道吗

这就是HTML:

<form action="/your-name/" method="post">
    <label for="your_name">Your name: </label>
    <input id="your_name" type="text" name="your_name" value="{{ current_name }}">
    <input type="submit" value="OK">
</form>

这是文档中给出的函数示例:

def get_name(request):
    if request.method == 'POST':
        form = NameForm(request.POST)
        if form.is_valid():
            return HttpResponseRedirect('/thanks/')
    else:
        form = NameForm()

    return render(request, 'name.html', {'form': form})

现在我需要看看函数向数据库中添加名称的样子。你知道吗


Tags: 函数name文档forminputyourreturnif
2条回答

例如:

我自己的模型是这样的:

class MyModel(models.Model):
    var = models.CharField(max_length=10)

所以在我看来:

if form.is_valid():
    var = form.cleaned_data['var']
    # do insertion or modification or deletion
    obj = MyModel.objects.create(var=var)
    obj.save()

你最好看一下说明书,它很详细。你知道吗

我希望NameForm是一个模型。在这种情况下,只要^{}ing就可以将数据带入db。你知道吗

if form.is_valid():
    form.save()
    return HttpResponseRedirect('/thanks/')

如果窗体是普通窗体,则需要获取传递的值并创建/分配给/model对象:

if form.is_valid():
    # modifying
    name_object = Name.objects.get(some_field=some_field)
    name_object.name_field = form.cleaned_data['your_name']
    name_object.save()

    # or creating
    new_name_object = Name(name_field=form.cleaned_data['your_name'])
    new_name_object.save()
    return HttpResponseRedirect('/thanks/')

相关问题 更多 >