存在问题:
django如何连接mysql数据库
解决方案:
- 创建工程和项目APP;
- 修改Django的settings.py文件(根据自己的数据库配置信息修改);
并在setting.py文件中添加app
DATABASES = {'default': {# 'ENGINE': 'django.db.backends.sqlite3',# 'NAME': BASE_DIR / 'db.sqlite3','ENGINE':'django.db.backends.mysql','NAME':'tushu', #数据库名'USER':'root', #用户名'PASSWORD':'root', #密码'HOST':'127.0.0.1','PORT':'3306'
- 修改__init__.py文件,配置Mysql,替换默认的数据库引擎,添加以下内容
import pymysql
pymysql.install_as_MySQLdb()
4. models.py文件中加入数据表创建语句
from django.db import models# Create your models here.class list(models.Model):value_a=models.CharField(max_length=50)value_b = models.CharField(max_length=50)
5. 迁移数据到MySql
python manage.py makemigrations
python manage.py migrate
此时发现mysql中多出一个newweb_list的新表(名称默认是APP应用名+models.py中的类名)
此时可以给空数据库填写一些数据,方便后续查询交互验证;
6. 编写url.py、视图views.py和Template中list.html三个文件后,启动django web服务,完成数据交互查询结果展示
数据库MySql查询结果:
特别注意:
此文描述的为通过models中建表后迁移到数据库中情况;
若mysql数据库中原本已经存在数据表,需要进行连接直接使用的话,可通过以下命令将数据库表自动生成到models.py文件中
python manage.py inspectdb > models.py
此时,会发现除了应用SPP newWeb文件中的models.py外,多了一个models2.py的文件,这个就是新生成的(包含数据库中原本所有表)。