代码之家  ›  专栏  ›  技术社区  ›  Bharat

将数据从窗体发送到django中的db

  •  0
  • Bharat  · 技术社区  · 14 年前

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

    这是模板中表单的代码。

    <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 回复  |  直到 14 年前
        1
  •  6
  •   Ludwik Trammer    14 年前

    Django将为您执行此操作,但您需要创建一个表单。你应该看看 forms in Django creating forms from models 是的。

    没有必要完成这个特殊的任务,但是你也应该阅读 Django ORM 是的。

    尝试阅读 the official documentation 或者是一本django的书(我从“实用django项目”和“django书”中学到了django)。

        2
  •  2
  •   rytis    14 年前

    这个问题要求对整个djando db模型进行简要描述。

    简而言之,您不能从视图连接到数据库,必须使用django db api。必须在models.py中定义模型类,然后使用类方法更新数据。Django将负责将其传递/存储到数据库中。

    期待着你的问题“如何?”不幸的是,我不得不把你指给那位官员 DJango documentation 是的。

    更新:另一个 good resource about Django 有评论,笔记和例子。

        3
  •  0
  •   Richard Ackon    7 年前

    通过使用django表单,可以轻松地将发送数据保存到django数据库中。django表单通过modelform将表单链接到模型,使保存db数据变得容易。阅读有关django表单、modelforms和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