连接mysql数据库
数据库准备
- 如果连接本机数据库,mysql安装及配置可参考https://www.cnblogs.com/feizisy/p/11882521.html
- 如果连接阿里云数据库,在阿里云工作台-数据安全性的地方设置下白名单,白名单添加地址需为访问外网IP
创建数据库
本机:
create database your_database_name
阿里云:阿里云工作台-数据库管理-创建数据库
yourprojectname/settings.py 配置数据库
# Database # https://docs.djangoproject.com/en/2.2/ref/settings/#databases DATABASES = { 'default': dict(ENGINE='django.db.backends.mysql', HOST='your_host', #本机数据库,使用127.0.0.1 #阿里云数据库,使用阿里云工作台-数据库连接-外网地址 PORT='3306', NAME="your_database_name", USER='your_username', PASSWORD='your_password') }yourprojectname/init.py 下更改pymysql驱动,原默认为mysqldb(python3不再支持)
import pymysql pymysql.install_as_MySQLdb()
yourappname/models.py 创建数据库表
from django.db import models """ 用户表 """ class User(models.Model): username = models.CharField(verbose_name="用户名", max_length=20, unique=True, null=True) status = models.CharField(verbose_name="用户状态", max_length=4, null=True,help_text="0:已删除;1:使用中",default=1) iphone = models.CharField(verbose_name="手机号", max_length=11, unique=True, null=True) email = models.EmailField(verbose_name="邮箱", max_length=20, unique=True) signature = models.TextField(verbose_name="签名", max_length=500) createtime = models.DateTimeField(verbose_name="创建时间", auto_now=True) def __str__(self): return self.realname数据库同步,终端执行,中间可能会遇到部分问题,参考https://www.cnblogs.com/feizisy/p/11847996.html
python manage.py makemigrations python manage.py migrate
迁移完成,可以在终端执行show tables,或者阿里云官网或navicat客户端查看django自带的一些表