这段时间在学习mysql+django的知识点。借此记录以下学习过程遇到的坑以及心得。
使用的工具是navicat for mysql
python 2.7.12
mysql-python 1.2.3 。
首先在次目录下新建一个数据库(students_info),记下用户名,密码,端口。。。。。。此数据库后续会在settings.py中进行对接。
django与database对接的操作流程:
1、你得先告诉django数据库的相关信息,后续框架会自动去根据这些信息访问数据库不用你操心了。
代码如下:
DATABASES = {
'default':
{
'ENGINE':'django.db.backends.mysql',
'NAME':'students_info',
'USER':'root',
'PASSWORD':'123456',
'HOST':'127.0.0.1',
'PORT':'3306',
}
}
以上就是在settings.py中的设置,没错就这么简单。ENGINE根据各种数据库不同可以参照官方文档https://docs.djangoproject.com/en/1.7/ref/settings/#std:setting-DATABASES。
2、定义数据模型,这工作是在对应的app(blog)应用目录下的model.py中完成的。例子如下(djangobook例子):
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField() class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField() class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
每个class会对应一个表。
3、接下来就是运行 python manage.py makemigrations blog
然后运行 python manage.py migrate
如果是第二次运行有问题,可以把blog/migrates下的0001_initial.py删除再重新运行以上两个命令。
4、如果没问题,既可以再navigcat中看到创建的表。