Django将数据保存到数据库中

时间:2016-12-28 18:44:20

标签: django database django-models django-forms django-views

我遇到了问题,我需要的是将零件号保存到数据库表中。因此,每次用户输入SOSS时,都应保存在我的表格中。这是我的代码,但没有保存任何东西,不知道我做错了什么。

manifiestos.html

                                            <form action="{%  url 'manifiestos' %}" method="post"> {% csrf_token %}
                                                <p><label for="date"> Date:</label> <input type="text" name="date" value={% now "Y-m-d" %} /> </p>
                                                <p><label for="soss"> SOSS:</label> <input type="text" name="soss" id="soss" /> </p>
                                                <input type="submit" value="Submit" />
                                        </form>

models.py

class manifiestos_bts(models.Model):
    soss = models.CharField(max_length=50)
    date = models.DateTimeField(null=True, blank=True)
    user = models.CharField(max_length=50)

forms.py

class ManifiestosForm(forms.Form):
    soss = forms.CharField()
    date = forms.DateTimeField()
    user = forms.CharField()

html_views

@login_required(login_url='/msr/login')
def manifiestos(request):
    if request.method == 'POST':

        form = ManifiestosForm(request.POST)
        if form.is_valid():
            soss = request.POST.get('soss', '')
            date = request.POST.get('date', '')
            manifiestos_obj = manifiestos_bts(soss= soss, date= date)
            manifiestos_obj.save()

            return  HttpResponseRedirect(reverse('manifiestos'))
    else:
        form = ManifiestosForm()

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

urls.py

    url(r'^manifiestos$', html_views.manifiestos, name='manifiestos'),

感谢您的时间:) 如果您需要更多详细信息,请告诉我们。

1 个答案:

答案 0 :(得分:2)

您的form.is_valid()将失败,因为您没有从模板中传递用户。从ManifiestosForm中删除它或从manifiestos.html传递它