django+mysql学习笔记

Posted heylucky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django+mysql学习笔记相关的知识,希望对你有一定的参考价值。

这段时间在学习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中看到创建的表。

 











以上是关于django+mysql学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记:python3,代码片段(2017)

[Django笔记] models 深入学习

Django重新开始学习--环境搭建 笔记

Python学习笔记-数据库的使用

Django 学习笔记数据库基本操作(增查改删)

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段