欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

代码详解django中数据库设置

程序员文章站 2023-10-17 21:25:18
首先定义数据库的表名和字段 启动mysql数据库 bash mysql.server start 安装pymysql pip install pymysql pymy...

首先定义数据库的表名和字段

启动mysql数据库 bash mysql.server start

安装pymysql pip install pymysql

pymysql 是在 python3.x 版本中用于连接 mysql 服务器的一个库,python2中则使用mysqldb。

在_init_.py文件中加入如下代码:

import pymysql
pymysql.install_as_mysqldb()

新建数据库

mysql -u root -p 登录root
show databases 显示数据库
create database mysite 创建数据库

settings.py配置数据库:

1)django默认使用的是sqlite数据库
2)修改settings.py文件的databases选项进行数据库的配置
3)设置想要使用的数据库。比如mysql

databases = {
'default': {
  'engine': 'django.db.backends.mysql',
  'name': 'mysite',
  'user': 'root',
  'password': '12345678',
  'host': 'localhost',
  'port': '3306',
}
}

创建app

一个项目中可以创建多个app
使用命令 python manage.py startapp myapp,后生成myapp目录以及相关文件。
admin.py 站点配置
models.py 定义模型
views.py 定义视图

激活app

1)在settings.py文件中将app名称myapp应用加入到installed_apps

installed_apps = [


'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]

2)定义模型,一个数据库表对应一个模型。

在models.py中加入类似如下:

class grades(models.model):

gname = models.charfield(max_length=20)
gdate = models.datetimefield()
ggirlnum = models.integerfield()
gboynum = models.integerfield()
isdelete = models.booleanfield(default=false)

ps:不用定义主键,后面会自动生成。

3)在数据库中生存数据库表

python manage.py makemigrations
python manage.py migrate

这样在数据库中即生成了与models对应的数据库表,但是表的内容是空的。