【1】python应用程序要连接mysql有多个驱动程序可供选择:

  1、MySQLdb 这个只支持python2.x 所以在这里就不说了;

  2、mysqlclient 下载地址  

https://pypi.python.org/pypi/mysqlclient/1.3.9

  3、MySQL Connector/python 这个是mysql官方主推的mysql驱动

https://dev.mysql.com/downloads/connector/python/

  从django的官方文档中没有找到为什么python3.x选择了mysqlclient而不是MySQL Connector/Python ;在编写用到数据库功能的Django之前

  要把mysqlclient安装一下。

  

【2】把polls这个app注册到project中去、修改settings.py 文件的INSTALLED_APPS配置项

INSTALLED_APPS = [
'polls.apps.PollsConfig', # 增加polls.apps.PollsConfig 用于注册polls到project
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

【3】配置django连接mysql数据库的方式、修改settings.py 文件的DATABAES配置项

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'tempdb',
'USER': 'appuser',
'PASSWORD': 'helloapp',
'HOST': '127.0.0.1',
'PORT': ''
}
}

【4】创建模式、在polls/models.py 文件下增加如下orm类

from django.apps import AppConfig

class PollsConfig(AppConfig):
name = 'polls'

【5】创建用于迁移的中间文件

tree polls/
polls/
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py python3.5 manage.py makemigrations polls
Migrations for 'polls':
polls/migrations/0001_initial.py:
- Create model Person tree polls/
polls/
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│   ├── 0001_initial.py
│   ├── __init__.py
│   └── __pycache__
│   └── __init__.cpython-35.pyc
├── models.py
├── __pycache__
│   ├── admin.cpython-35.pyc
│   ├── apps.cpython-35.pyc
│   ├── __init__.cpython-35.pyc
│   └── models.cpython-35.pyc
├── tests.py
└── views.py

【6】把迁移应用到数据库

python3. manage.py migrate polls
Operations to perform:
Target specific migration: 0001_initial, from polls
Running migrations:
Applying polls.0001_initial... OK

【7】查看数据库中有哪些变更

show tables;
+-------------------+
| Tables_in_tempdb |
+-------------------+
| django_migrations |
| polls_person |
+-------------------+ show create table polls_person;
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| polls_person | CREATE TABLE `polls_person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(8) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+

----

django学习笔记【003】创建第一个带有model的app的更多相关文章

  1. Django:学习笔记(2)——创建第一个应用

    Django:学习笔记(2)——创建第一个应用 创建应用 在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定.Django 自带一个工具,可以帮你生成应用的基础目录结构, ...

  2. Django学习笔记---第一天

    Django学习笔记 1.Django的安装 //如果不指定版本号,默认安装最新版 pip3 install django==1.11.8 关于Django的版本和python的版本依赖关系,请看下图 ...

  3. Django学习笔记(一)——安装,创建项目,配置

    疯狂的暑假学习之 Django学习笔记(一) 教材  书<The Django Book> 视频:csvt Django视频 1.创建项目 django‐admin.py startpro ...

  4. Django学习笔记(五)—— 表单

    疯狂的暑假学习之  Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path         ...

  5. Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

  6. Django学习笔记(13)——Django的用户认证(Auth)组件,视图层和QuerySet API

    用户认证组件的学习 用户认证是通过取表单数据根数据库对应表存储的值做比对,比对成功就返回一个页面,不成功就重定向到登录页面.我们自己写的话当然也是可以的,只不过多写了几个视图,冗余代码多,当然我们也可 ...

  7. Django学习笔记(20)——BBS+Blog项目开发(4)Django如何使用Bootstrap

    本文学习如何通过Django使用Bootstrap.其实在之前好几个Django项目中已经尝试使用过了Bootstrap,而且都留有学习记录,我已经大概有了一个大的框架,那么本文就从头再走一遍流程,其 ...

  8. Django 学习笔记(二)

    Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...

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

    一.前期准备工作,创建数据库以及数据表,详情点击<Django 学习笔记(六)MySQL配置> 1.创建一个项目 2.创建一个应用 3.更改settings.py 4.更改models.p ...

随机推荐

  1. mac下使用github 上传代码

    提起github相信大家都不会陌生,在这里就不再赘述了.作为开源代码库以及版本控制系统,使用好了确实会非常受益,再说的势利点,你找工作时给面试官说你经常维护自己的技术博客和github,相信你给他的印 ...

  2. 使用idea搭建Spring boot开发初始环境

    准备工作 将以下代码加入idea的live template,命名为springbootStartup <parent> <groupId>org.springframewor ...

  3. Linux中KVM虚拟机是什么

    概念: Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行 ...

  4. [NHibernate]使用AttributeNHibernate.Mapping.Attributes

    系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) [NHibernate ...

  5. 以下内容为Stackoverflow上整理以作纪录

    PRO 用IMG标签 Use IMG plus alt attribute if the image is part of the content such as a logo or diagram ...

  6. javascript 中contentWindow和 frames和iframe之间通信

    iframe父子兄弟之间通过jquery传值(contentWindow && parent),iframe的调用包括以下几个方面:(调用包含html dom,js全局变量,js方法) ...

  7. JavaScript 中的不可变对象(Immutable Objects)

    默认情况下,JavaScript 中的对象是可变的.我们可以更改原始值(字符串,数字等)和对象.我们来看看这个对象: let obj = { num: , obj: { content: " ...

  8. URLRewrite地址重定向的实现

    URLRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址.其优点有: (1)提高安全性,可以有效的避免一些参数名.ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规 ...

  9. 开发 nodejs REST 个人感想

    本来想拿 nodejs 做个 ip 查询小应用的,做的时候想着把基础弄好再做应用,没想到做着做着就变成 spring 了 可能太多数人觉得不知道怎么用,以后我会写详细点使用教程 个人感觉自己做出来的东 ...

  10. NTP for Linux

    一.服务概述 NTP(network time  protocol 网络时间协议)服务器是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源做同步化,提供高精度的时间校正,在LAN上与 ...