django表单提交数据库mysql

更新时间:02-10 教程 由 念旧 分享

在Django中,我们使用表单来收集用户输入的数据,并将这些数据存储到数据库中。本文将介绍如何使用Django框架通过表单提交数据到MySQL数据库。

首先,我们需要创建一个数据库模型来定义我们要存储的数据。在Django中,模型是一个Python类,它用来描述数据的结构和属性。

from django.db import modelsclass Book(models.Model):title = models.CharField(max_length=200)author = models.CharField(max_length=200)publication_date = models.DateField()

在上面的代码中,我们定义了一个名为“Book”的模型,它有三个属性:title、author和publication_date。它们都是字符型,其中publication_date是一个日期型。

接着,我们需要创建一个表单类,它将用来收集用户的输入数据。在Django中,表单类是一个Python类,它定义了表单的字段和验证规则。

from django import formsclass BookForm(forms.Form):title = forms.CharField(label='Title', max_length=200)author = forms.CharField(label='Author', max_length=200)publication_date = forms.DateField(label='Publication Date')

在上面的代码中,我们定义了一个名为“BookForm”的表单类,它有三个字段:title、author和publication_date。它们都是字符型,其中publication_date是一个日期型。在这里我们使用了Django中的表单组件来定义表单字段及其标签。

接下来,我们需要定义一个视图函数,它将处理表单提交请求并将数据存储到数据库中。在Django中,视图函数是一个Python函数,它处理来自浏览器的请求,并返回一个响应。

from django.shortcuts import renderfrom .models import Bookfrom .forms import BookFormdef add_book(request):if request.method == 'POST':form = BookForm(request.POST)if form.is_valid():book = Book(title=form.cleaned_data['title'],author=form.cleaned_data['author'],publication_date=form.cleaned_data['publication_date'])book.save()return render(request, 'success.html')else:form = BookForm()return render(request, 'add_book.html', {'form': form})

在上面的代码中,我们定义了一个名为“add_book”的视图函数,它接受一个请求对象作为输入。如果请求方法是POST,则我们将从请求体中获取表单数据,并将其赋给一个新的Book实例。然后我们将该实例存储到数据库中,并返回一个渲染的HTML页面。如果请求方法不是POST,则我们将返回一个未渲染的HTML页面,其中包含一个空的表单。

最后,我们需要定义两个HTML模板。一个模板用于呈现表单,另一个模板用于呈现提交成功的页面。在Django中,模板是一个HTML文件,它包含了动态生成的内容。

add_book.html模板:

在上面的代码中,我们将Django的{% csrf_token %}标签用于保护表单免受CSRF攻击。然后我们使用{{ form.as_p }}标签呈现表单。

success.html模板:

Submission Successful!

在上面的代码中,我们只需要呈现一个简单的成功信息。

到此为止,我们已经完成了通过Django表单提交数据到MySQL数据库的所有步骤。使用上述代码和模板,您可以轻松创建并部署一个包含表单提交功能的Web应用程序。

声明:关于《django表单提交数据库mysql》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2075035.html