python - 如何使用 Django 1.10 将数据从 html 表单存储到 postgres 数据库?

标签 python django postgresql

我是 Django 的新手,我刚刚创建了一个简单的表单来将用户输入存储到数据库中,但是单击提交按钮时没有存储数据,当我单击提交按钮时刷新了当前页面,但没有存储数据在数据库中。我的代码有什么问题?我创建了以下模型,我的代码是,

mysite/jobs/models.py

from django.db import models

class Cost(models.Model):

    cost = models.FloatField()

    date = models.DateField()

mysite/jobs/views.py

from django.shortcuts import render

from jobs.forms import CostForm

from jobs.models import Cost

def costView(request):

    if request.method == 'POST':

        form = CostForm(request.POST)

        if form.is_valid():

            date = request.POST.get('date','')

            cost = request.POST.get('cost','')

            cost_obj = Cost(date=date, cost=cost)

            cost_obj.save()

            return HttpResponse("csdfsdf")

    else:

        form = CostForm()

    return render(request,'jobs/cost.html',{'form':form,})          

mysite/jobs/forms.py

from django import forms

class CostForm(forms.Form):

    date = forms.DateField()

    cost = forms.FloatField()

mysite/jobs/templates/jobs/cost.html

<form action="{% url 'jobs:cost' %}" method="post">    {% csrf_token %}

<p><label for="date">Date:</label><input type="text" name="date" value={% now "Y-m-d" %}/></p>

<p><label for="cost">Cost:</label><input type="text" name="cost" value="0" id="cost"/></p>

<input type="submit" value="Submit"/>

</form>

mysite/jobs/urls.py

from django.conf.urls import url


from . import views


urlpatterns = [
    url(r'^$', views.costView, name='cost'),
]

mysite/urls.py

from django.conf.urls import url, include

from django.contrib import admin


urlpatterns = [
    url(r'^', include('jobs.urls',namespace="jobs")),

    url(r'^polls/', include('polls.urls')),

    url(r'^admin/', admin.site.urls),

]

最佳答案

您的表格可能无效。

您应该在模板中使用 {{ form.errors }} 来显示验证错误。此外,您应该使用 {{ form.date }}{{ form.cost }} 来显示字段,而不是手动创建输入标签,以便值验证失败时重新填充。

关于python - 如何使用 Django 1.10 将数据从 html 表单存储到 postgres 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41562962/

相关文章:

python - idlex 1.13 : Unable to located "idlexlib"

python - 获取Python中通往叶子的所有路径的列表

django - AttributeError : type object 'User' has no attribute 'name'

Django:从查询集中获取值列表

python - 如何使用 word2vec 训练分类器?

python - 查找多个共同的起始字符串

sql - sql 中的 Count() 计算

ruby-on-rails-3 - 在 Ruby on Rails 3/Postgres/Apache Passenger 应用程序中跟踪内存泄漏

python - Django 标签/过滤器和模板

postgresql - NOTICE 或错误信息在哪里?