博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django学习笔记【003】创建第一个带有model的app
阅读量:7021 次
发布时间:2019-06-28

本文共 2929 字,大约阅读时间需要 9 分钟。

【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': '3306'    }}

 

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

from django.apps import AppConfigclass PollsConfig(AppConfig):    name = 'polls'

 

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

tree polls/polls/├── admin.py├── apps.py├── __init__.py├── migrations│   └── __init__.py├── models.py├── tests.py└── views.pypython3.5 manage.py makemigrations pollsMigrations for 'polls':  polls/migrations/0001_initial.py:    - Create model Persontree 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.5 manage.py migrate polls 0001Operations to perform:  Target specific migration: 0001_initial, from pollsRunning 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 |+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+

 

 

 

 

 

 

 

----

转载地址:http://wabxl.baihongyu.com/

你可能感兴趣的文章
Java面向对象(二)
查看>>
Mybatis——构造方法
查看>>
Amino——范围层
查看>>
使用 QuickBI 搭建酷炫可视化分析
查看>>
SpringCloud 微服务 (六) 服务通信 RestTemplate
查看>>
PageOfficeV4.0 隐藏Excel的行号列标
查看>>
从MySQL到HBase:数据存储方案转型的演进
查看>>
Qt5开发及实例学习之不规则窗体:没看懂
查看>>
为什么不推荐用JWT保护你的Web应用
查看>>
带你了解MySQL数据库小技巧
查看>>
Java代码自动部署
查看>>
cmake 自动add_subdirectory
查看>>
凑个热闹,分析下Padavan的代码,一
查看>>
RabbitMQ 高可用之镜像队列
查看>>
你真的懂redis的数据结构了吗?
查看>>
人工智能的下一步是什么?我们应如何定义生命?
查看>>
Chrome 开发者控制台中,你可能意想不到的功能
查看>>
设计模式的学习(12)责任链模式
查看>>
hadoop 面试题
查看>>
Go语言开发环境搭建
查看>>