在Django中将表单数据发送到数据库

0 投票
3 回答
4639 浏览
提问于 2025-04-15 21:38

我有一个表单,可以通过文本框输入文字。点击提交后,怎么把这些数据存入数据库呢?

这是模板中表单的代码。

<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

你可以通过使用Django表单轻松地将发送的数据保存到Django数据库中。Django表单通过ModelForm将你的表单和模型连接起来,使得保存数据库数据变得简单。你可以查看关于Django表单、ModelForm和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
2

这个问题是在询问关于Django数据库模型的简要描述。

简单来说,你不需要直接从视图去连接数据库,而是要使用Django提供的数据库API。你需要在你的models.py文件中定义模型类,然后通过类的方法来更新数据。Django会负责把这些数据传递和存储到数据库中。

如果你在想“那怎么做呢?”很抱歉,我只能推荐你去看官方的Django文档

更新:还有一个关于Django的好资源,里面有评论、笔记和示例。

6

Django会帮你完成这个工作,但你需要先创建一个表单。你可以了解一下Django中的表单如何从模型创建表单

虽然完成这个特定的任务并不一定需要,但你也应该了解一下Django的ORM

可以试着阅读一下官方文档或者一些Django的书籍(我学习Django时看过《实用Django项目》和《Django书籍》)。

撰写回答