📅  最后修改于: 2023-12-03 15:24:43.519000             🧑  作者: Mango
Django 是 Python Web 开发框架之一,而 Mysql 则是非常流行的关系型数据库之一。将两者结合起来可以方便地对数据库进行操作,本文将介绍如何将 Mysql 数据库与 Django 集成。
在开始前需要安装 Mysql 驱动,可以使用 pip 来安装:
pip install mysqlclient
在 Django 项目中需要在 settings.py
中配置数据库信息,如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase', # 数据库名称
'USER': 'mydatabaseuser', # 数据库用户名
'PASSWORD': 'mypassword', # 数据库密码
'HOST': 'localhost', # 数据库地址
'PORT': '3306', # 数据库端口
}
}
其中,ENGINE
选项指定了使用的数据库引擎,这里选用的是 Mysql;NAME
选项指定了数据库的名称;USER
选项指定了数据库的用户名;PASSWORD
选项指定了数据库的密码;HOST
选项指定了数据库的地址;PORT
选项指定了数据库的端口号。
接下来需要创建一个 Django 应用,运行以下命令:
python manage.py startapp myapp
其中 myapp
是应用的名称。
在 myapp
应用的 models.py
文件中定义数据模型,如下所示:
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
email = models.EmailField()
该模型定义了一个名为 Person
的数据模型,有 name
、age
、email
这三个属性。这里的属性类型都是 Django 框架支持的数据类型。
接下来需要创建数据库表,运行以下命令:
python manage.py makemigrations myapp
然后再执行以下命令:
python manage.py migrate
这样就可以创建 myapp
应用下定义的所有模型对应的数据库表了。
有了数据表,接下来就可以使用 ORM 操作数据库了。在 myapp
应用的 views.py
文件中编写如下代码:
from django.shortcuts import render
from .models import Person
def index(request):
person_list = Person.objects.all()
return render(request, 'index.html', {'person_list': person_list})
这里使用 Person.objects.all()
方法获取 Person
模型对应的所有数据,并将其传递给模板渲染。
在 myapp
应用下创建 index.html
模板文件:
{% for person in person_list %}
<p>{{ person.name }} | {{ person.age }} | {{ person.email }}</p>
{% endfor %}
这个模板会显示 Person
模型中所有数据的 name
、age
、email
属性。
最后,在 myproject
项目下的 urls.py
文件中添加以下代码:
from django.urls import path
from myapp.views import index
urlpatterns = [
path('', index, name='index'),
]
这样,就可以通过访问 http://127.0.0.1:8000/
来查看数据库中的数据了。
以上就是如何将 Mysql 数据库与 Django 集成的详细教程,希望对你有所帮助!