【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. MYSQL复习笔记2-自带工具介绍

    Date: 20140102Auth: Jin 一.mysql 命令行客户端1)base-h host-P port--socket=path,-S path用于连接的套接字文件替换使用IP PORT ...

  2. 判断 Selite中标存在或者字段存在的方法

    判断表存在的方法很简单,网上很多: SELECT COUNT(*) FROM sqlite_master where type='table' and name='%s'" % tname; ...

  3. Microsoft office(2)多级标题的设置

    在Microsoft office中要达到下面的标题结构: 1.首先将文字准备好: 2.将“绪论”,“无线...介绍”等章节标题分别选中 :段落-->大纲级别-->1级 3.同样的,“研究 ...

  4. [Android Pro] StorageManager简介

    StorageManager StorageManager is the interface to the systems storage service. The storage manager h ...

  5. jstl中取map,其中map的key是一个对象,value是一个list

    <c:forEach items="${map }" var="item"> //取得key中的属性 ${item.key.name } <c ...

  6. PLSQL Developer连接远程Oracle方法(非安装client)

    远程连接Oracle比較麻烦,通常须要安装oracle的客户端才干实现. 通过instantclient能够比較简单的连接远程的Oracle. 1.新建文件夹D:\Oracle_Cleint用于存放相 ...

  7. RocketMQ-创建MappedFile本地文件

    了解RocketMQ的都知道,它会保存所有的消息到本地文件.这个文件就是 MappedFile,每一个文件对应一个MappedFile.默认情况下大小位1g. 在MessageStoreConfig中 ...

  8. elasticsearch java客户端api使用(一)

    1.客户端client构建 ​ package com.pz998.app.service.utils; import static org.elasticsearch.common.settings ...

  9. (剑指Offer)面试题37:两个链表的第一个公共结点

    题目: 输入两个链表,找出它们的第一个公共结点. 链表结点的定义如下: struct ListNode{ int val; ListNode* next; ListNode(int x):val(x) ...

  10. JRE与JVM、JDK的区别

    JRE与JVM.JDK的区别 一. 详细介绍1.JVM -- java virtual machine JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程 ...