Django学习6-mysql数据库使用1-安装与连接
来源:互联网 发布:中国网络安全法 编辑:程序博客网 时间:2024/05/21 20:22
从这篇开始,我们要开始有趣的部分了,哈哈,数据库。这里我使用的mysql,对于Django和python的版本不同,这里会有很多想不到的麻烦,那么开始吧,遇到再说。
不多bb,至少先搞个mysql撒,Ubuntu下:
apt-get install mysql-server
中途会提示设置root密码吧。
好了,mysql装好了,下面就一个一个python连接mysql的中间件了,这里注意,python2和python3使用的是不一样的,python2使用的是MySQL-python,可以使用pip安装
pip install mysql-python可能会遇到这个错误EnvironmentError: mysql_config not found,这样解决
sudo apt-get install libmysqlclient-devsudo updatedblocate mysql_config
但python3这样是不行,不能用 mysql-python来连接数据库,需要用pymysql来连接(这个应该也能从pip上直接安装吧):我是从github上下载pymysql(https://github.com/PyMySQL/PyMySQL/);然后运行python setup.py install
可以了,到目前为止,所有的准备工作都做好了,下面来看看怎么使用吧。
首先,还是按照前面讲的,建工程,建app,修改setting里面的app选项,为了使用数据库,这里除了修改app(不使用模板就不用改template了)之外,还需要修改database:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'testsql', 'USER': 'root', 'PASSWORD': 123456, 'HOST': '', 'PORT': '', }}第一个选项是使用的数据库类型,固定写法,第二个是你的数据库(需要提前在mysql中建立好),第三个是用户,第四个是密码,后面两个如果默认的话就是localhost和3306 。
好了,现在进入blog这个app下的models.py,这里我先放上我怎么写的,再说什么意思
from __future__ import unicode_literalsfrom django.db import modelsclass Users(models.Model): username=models.CharField(max_length=20)这里的每一个继承自models.Model的类,后面都会去mysql中对应生成一个表,这里到时候就会生成blog_users这个表(app名字+类名),里面表示建立一个username属性,CharField表明了它的类型,参数是长度(如果一个表没有显示声明主键,mysql会自动加一个自增的id)。
好了,models也写好,现在开始连接吧,这里因为使用的Django不同,又开始不同了,1.8之前的,很简单,一句话
python manage.py syncdb
就搞定了,但1.8之后就不行了,需要三步来完成(修改,以前写错了,以前按照视频学,然后出错自己去找解决,问题解决之后就以为他们解决问题的时候给出的解释是正确的,但后来自己看了官方文档——这个我打算翻译一下数据库部分,有机会我会过来给个链接):
首先使用python manage.py makemigrations [app的名字]在app目录下的migrations目录下生成一个XXXX_yyyyyy打头的py文件(XXXX是从0001开始的,yyyyyy第一次生成的应该是initial,后面再生成就和本次操作有关,如果只有一个操作,比如删除一个表,那么估计就是deleteXXX,如果多个操作,应该是日期);
然后使用python manage.py sqlmigrate [app的名字] [xxxx],就是上一步生成的那个XXXX,上一步生成比如是0001_initial.py,这里就是0001,以此类推;
最后,使用python manage.py migrate就可以完成。
这里只是讲了数据库的简单操作,后面会继续讲接下来的工作,同时我也希望能坚持完成官方文档翻译,到时候一起放出来,毕竟那个才权威。
- Django学习6-mysql数据库使用1-安装与连接
- Django与MySQL数据库长连接问题
- Django与数据库MySQL连接的用法
- Python_python/django连接mysql安装与配置
- Django连接MySQL数据库
- django连接mysql数据库
- django连接使用Mysql
- django连接mysql mysql安装
- OS X下为Django安装&连接MySQL数据库
- python学习之--Django--连接数据库mysql创建model
- Django连接远程mysql数据库
- Django如何连接mysql数据库
- python django 连接mysql数据库
- Python3 Django 连接 Mysql 数据库
- Django连接MySql数据库步骤
- Django 连接mysql Oracle数据库
- Django使用mysql数据库
- Django使用MySQL数据库
- 互联网公司数据分析/挖掘面试机器学习面到的题目
- gcc编译选项和makefile资源汇总
- LeetCode: Top K Frequent Elements
- (XGBoost)提升树入门介绍(Inrtoduction to Boosted Trees)
- English about computer 1
- Django学习6-mysql数据库使用1-安装与连接
- AlertDialog使用自定义的布局
- CSS属性选择器
- 欢迎使用CSDN-markdown编辑器
- windows版本的mysql无法远程连接服务器上的mysql的问题,错误代码10060
- 考研经验分享
- java基础知识学习之代理深入学习(用动态代理实现AOP,FacotryBean)
- 数据结构 栈和队列
- 一起学react native(5) mobx配合FlatList实现高性能im聊天界面