代码详解django中数据库设置

yipeiwu_com6年前Python基础

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

启动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对应的数据库表,但是表的内容是空的。

相关文章

Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)

使用Python过程中,经常需要对文件和目录进行操作。所有file类/os/os.path/shutil模块时每个Python程序员必须学习的。 下面通过两段code来对其进行学习。 1...

浅谈python3.x pool.map()方法的实质

我使用多进程的一般方式,都是multiprocessing模块中的Pool.map()方法。下面写一个简单的示例和解析。至于此种方法使用多进程的效率问题,还希望大佬予以指正。 示例:...

python发腾讯微博代码分享

复制代码 代码如下:import urllib.parse,os.path,time,sys,re,urllib.requestfrom http.client import HTTPS...

Python简单生成8位随机密码的方法

本文实例讲述了Python简单生成8位随机密码的方法。分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding: utf-8 -*- i...

在Django中创建动态视图的教程

在我们的`` current_datetime`` 视图范例中,尽管内容是动态的,但是URL ( /time/ )是静态的。 在 大多数动态web应用程序,URL通常都包含有相关的参数。...