教你用Django将前端的数据存入Mysql数据库

介绍

Django是一个高级Python Web框架,它可以帮助我们快速开发复杂的Web应用程序。与其他Web框架相比,Django受到广泛的欢迎,因为它具有强大的ORM(对象关系映射)功能、自动化的管理站点、内置的安全性功能以及完整的文档和社区支持。在本文中,我们将学习如何使用Django框架将前端数据存储到MySQL数据库中。

创建一个Django项目

要开始使用Django框架,您需要在本地计算机上安装Django并创建一个Django项目。您可以使用以下命令从命令行安装Django:

pip install django

创建一个Django项目的最简单方法是使用以下命令:

django-admin startproject projectname

其中,projectname是您想要为项目起的名称。这将创建一个名为projectname的文件夹,其中包含Django项目的所有文件和目录。

创建一个应用程序

在Django中,应用程序是特定功能的模块化组件,它包含了与Web应用程序相关的模型、视图、模板、静态文件和其他内容。要创建一个Django应用程序,您可以使用以下命令:

python manage.py startapp appname

其中,appname是您想要为应用程序起的名称。这将在项目文件夹中创建一个名为appname的文件夹,其中包含应用程序的所有文件和目录。

创建数据库模型

在Django中,使用模型表示数据的结构和关系。模型是一个Python类,它继承自Django的Model类,并定义了与模型相关的字段和方法。这里我们将创建一个简单的模型来存储我们的数据。

在appname文件夹内创建一个名为models.py的文件,并添加以下代码:

from django.db import models

class Data(models.Model):

name = models.CharField(max_length=200)

value = models.IntegerField()

def __str__(self):

return self.name

该模型名为Data,它包含了两个字段:name和value。name是CharField类型,最大长度为200。value是IntegerField类型,它存储一个整数值。我们还定义了一个__str__方法来返回该模型的名称。

创建数据库表并执行迁移

在我们可以使用模型之前,我们需要将它们映射到数据库中的表。要创建数据库表,您可以使用以下命令:

python manage.py makemigrations appname

这将创建一个迁移文件,其中包括将模型映射到与之对应的数据库表所需的更改。要应用这些更改并在数据库中创建表,您可以使用以下命令:

python manage.py migrate appname

这将在数据库中创建一个名为appname_data的表,其中包含两个列:name和value。

编写视图函数

在Django中,视图是处理Web请求的Python函数。每个视图接收一个HttpRequest对象作为参数,并返回一个HttpResponse对象。

我们将创建一个视图函数来处理提交的数据并将其保存到数据库中。在appname文件夹内创建一个名为views.py的文件,并添加以下代码:

from django.shortcuts import render

from django.http import HttpResponse

from .models import Data

def save_data(request):

if request.method == 'POST':

name = request.POST.get('name')

value = int(request.POST.get('value'))

data = Data(name=name, value=value)

data.save()

return HttpResponse('Data saved successfully!')

else:

return render(request, 'save_data.html')

该视图名为save_data。如果请求方法为POST,则取出前端发送过来的数据,并将其保存到数据库中,然后返回一个HttpResponse对象。否则,它将渲染一个名为save_data.html的模板。

编写模板文件

在Django中,模板是显示数据的HTML文件。模板可以包含Django模板语言(DTL),它允许您使用Python代码来操作数据。

在appname文件夹内创建一个名为save_data.html的文件,并添加以下代码:

<html>

<head>

<title>Save Data</title>

</head>

<body>

<h1>Save Data</h1>

<form method="post" action="{% url 'save_data' %}">

{% csrf_token %}

<p>Name:</p>

<input type="text" name="name" required />

<p>Value:</p>

<input type="number" name="value" required />

<br /><br />

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

</form>

</body>

</html>

模板包含一个HTML表单,它允许用户输入数据并将其提交到服务器。表单使用POST方法提交,并在action属性中指定视图函数的URL。模板还包含适当的CSRF标记,以防止跨站请求伪造攻击。

配置URL路由器

在Django中,URL路由器将URL映射到相应的视图函数。它告诉Django如何处理Web请求,并确定哪个视图应该用于该请求。在appname文件夹内创建一个名为urls.py的文件,并添加以下代码:

from django.urls import path

from .views import save_data

urlpatterns = [

path('', save_data, name='save_data'),

]

该文件定义了一个名为save_data的URL模式,在该模式下,将请求发送到save_data视图函数。

运行Django服务器

现在,我们已经准备好运行我们的Django服务器,并在Web浏览器中查看我们的Web应用程序。要运行Django服务器,请在命令行中使用以下命令:

python manage.py runserver

这将启动Django开发服务器并将其绑定到本地主机的8000端口。要查看您的Web应用程序,请在Web浏览器中访问http://localhost:8000/。

在前端发送数据

现在,我们已经创建了一个Django应用程序,并配置了一个视图函数和URL路由器。从前端发送数据到后端的最简单方法是使用HTML表单。这里我们将创建一个HTML表单,在用户输入数据后将其提交到后端并将其保存到数据库中。

在save_data.html模板中,我们添加了一个HTML表单,它允许用户输入数据并将其提交到后端。表单使用POST方法提交,并在action属性中指定视图函数的URL:

<form method="post" action="{% url 'save_data' %}">

在用户输入数据并单击提交按钮后,浏览器将发出一个POST请求,其中包含表单数据。在视图函数中,我们使用以下代码获取并处理POST请求中的数据:

if request.method == 'POST':

name = request.POST.get('name')

value = int(request.POST.get('value'))

data = Data(name=name, value=value)

data.save()

return HttpResponse('Data saved successfully!')

这个处理非常简单,我们只需解析请求中的数据,将其创建为模型对象,保存它并返回一个确认消息即可。在成功保存数据后,我们返回一个包含确认消息的HttpResponse对象。

结论

在本文中,我们学习了如何使用Django框架将前端数据存储到MySQL数据库中。我们创建了一个简单的Django项目并配置了一个应用程序、模型、视图函数、模板和URL路由器。我们使用HTML表单从前端发送数据到后端,并使用Django的ORM将其保存到数据库中。

后端开发标签