在django中将数据从表单发送到db

时间:2010-04-15 13:12:44

标签: python django

我有一个表单,我可以通过文本框输入文本。 如何在点击提交时将这些数据输入数据库。

这是模板中表单的代码。

<form method="post" action="app/save_page">
<p>
Title:<input type="text" name="title"/>
</p>
<p>
Name:<input type="text" name="name"/>
</p>
<p>
Phone:<input type="text" name="phone"/>
</p>
<p>
Email:<input type="text" name="email"/>
</p>
<p>
<textarea name="description" rows=20 cols=60>
</textarea><br>
</p>
<input type="submit" value="Submit"/>
</form>

我在views.py中有一个函数用于保存页面中的数据。但我不知道如何正确地表达它:

def save_page(request):
   title = request.POST["title"]
   name = request.POST["name"]
   phone = request.POST["phone"]
   email = request.POST["email"]
   description = request.POST["description"]

现在我如何将这些发送到数据库?

我在views.py中放入什么以便这些数据进入数据库? 那么如何打开数据库连接并将其放入数据库并保存呢?

我应该做点什么:

connection=sqlite3.connect('app.db')
cursor= connection.cursor()
.....
.....
connection.commit()
connection.close()

谢谢。

3 个答案:

答案 0 :(得分:6)

Django会为你做这件事,但你需要创建一个表单。您应该阅读forms in Djangocreating forms from models

没有必要完成这项特殊任务,但您还应该阅读Django ORM

尝试阅读the official documentation或其中一本Django书籍(我从“实用Django项目”和“The Django Book”中学习了Django)。

答案 1 :(得分:2)

这个问题是要求对整个Djando DB模型进行简要描述。

简短的回答是你没有从视图连接到DB,你必须使用Django DB API。您必须在models.py中定义模型类,然后使用类方法更新数据。 Django将负责在DB中传递/存储它。

预测你的问题'如何?'不幸的是,我必须指向官方DJango documentation

更新:另一个good resource about Django,包含评论,备注和示例。

答案 2 :(得分:0)

通过使用django表单,您可以轻松地将发送数据保存到django数据库中。 Django表单通过ModelForm将表单链接到模型,可以轻松保存数据库数据。阅读有关django表单,模型和ORM的文档。 以下链接可以帮助您。我现在使用django 1.9

  1. https://docs.djangoproject.com/en/1.9/topics/forms/
  2. https://docs.djangoproject.com/en/1.9/topics/forms/modelforms/#modelform