Django基础学习七之如何配置django+mysql
很久没有更新博客了,也有段时间没有持续性的学习了,感觉堕落了,今天继续开始学习吧
今天主要来学习一下在django下配置mysql的数据库和使用admin用户管理数据库
1、在project中的settings文件中设置为哪个app创建数据库,在这个例子中,我们为alex_app01来创建数据库,按照图示中修改settings文件

2、在project的settings文件中配置数据库,因为django默认是sqlite这个自带数据库;其实在实际的生成中,django+mysql才是最常见的搭配,所以我们这里要配置django的
数据库为mysql,按照图示的方式修改settings配置文件

3、在上面的例子中,我们可以看到,数据库的引擎修改为mysql,数据库的名字为“mydjango”,这里我们就需要先在mysql中创建这个数据,我这里已经创建了这个数据库,我们可以查看下

如果没有创建,可以用下面的方法创建数据库,这里要注意,charset utf8是为了让这个数据库支持中文

4、然后我们要在对应的app中model文件创建数据库的表,这里需要注意,一个类对应一张表
先创建一个作者表

在创建一个图书表

最后在创建一个出版社的表

这里我们仔细观察一下这里,在图书表中

ManyToManyField的意思是多对多的意思,就是一个作者可以写多本书,一个书可以有多个作者
ForeignKey的意思是一对多的意思,就是一个出版社可以出版多本书,但是一本书,只有一个出版社 5、在app的admin文件中设置admin用可以管理这3张表

6、创建admin的用户,用下面的命令创建admin的用户,这里可以设置用户名和密码

7、然后生成数据库的配置文件

根据配置文件生成表

8、这个时候我们就查看我们创建的数据库中的表了

这个时候我们就可以登陆django,使用admin用户管理和创建表了

漏了一条,因我们这里是python3,在django中,管理mysql默认用的mysqldb,但是mysqldb不支持python3,所以我们要把mysqldb替换为python3支持的pymysql
在project中的init.py文件中做如下的修改就可以了

最后在补充一条,这里就会实现在django的数据库中显示英文中文,默认是这样的,默认会显示book,但是我们用这样搞就会显示为“书”


Django基础学习七之如何配置django+mysql的更多相关文章
- Django基础学习二
今天继续学习django的基础 学习用户提交url如何获得返回值 1.首先需要在工程的urls文件定义指定的urls要路由给哪个函数 在这个例子中,我们定义home的urls路由给views里的tes ...
- Django基础学习四_数据库的增删改查
今天主要学习两个东西 1.如何对数据库做增删改查 2.如果将数据库中的数据用html的方式返回到前台 一.对数据库中增删改查操作 1.首先需要先见表,见表的方法我们在“http://www.cnblo ...
- Django基础学习六之渲染
今天简单的介绍一下Django的template的渲染和Django的template的基本的语法 首先我们先启动一个django的shell,首先需要进入django的工程目录下启动django的s ...
- Django基础学习三_路由系统
今天主要来学习一下Django的路由系统,视频中只学了一些皮毛,但是也做下总结,主要分为静态路由.动态路由.二级路由 一.先来看下静态路由 1.需要在project中的urls文件中做配置,然后将匹配 ...
- Django基础学习一
Django需要安装Django和jinja2,所以在开始学习之前,要先按照Django模块和jinja2模块,Django默认的数据库是SQLite,所以建议大家在学习之前需要先安装SQLite 一 ...
- Django基础学习笔记
Django开发流程 创建一个django项目:命令:django-admin startproject 项目名 进入到项目并创建一个应用:命令:python manage.py startapp 应 ...
- Django基础学习之Cookie 和 Sessions 应用
在Django里面,使用Cookie和Session看起来好像是一样的,使用的方式都是request.COOKIES[XXX]和request.session[XXX],其中XXX是您想要取得的东西的 ...
- Django基础学习五_引入静态文件
今天继续学习Django,今天主要掌握两个小点 一.如果为Django项目中引入静态文件 1.先要在project目录下创建static的目录,然后将jquery文件拷贝这个目录下就可以了 2.在pr ...
- django基础学习
{{forloop.counter}} 这是html的自增序号 GET请求可以直接从URL中获取信息,POST请求不可以,可以把信息藏到一个隐藏的input文本框中 orm 的概念就是对象关系映射 ...
随机推荐
- 历史上的重大软件BUG启示录第9篇---微软的硬件尝试
(图片来源于网络) 2001年苹果公司发布第一代iPod,它的推出在当时引起了轰动,它拥有大容量存储空间和全新的操作方式,并且还非常漂亮(在当时看来),因此在市场上大受欢迎,苹果公司也因此赚的盆满钵满 ...
- DesignPattern(一)设计模式的六个基本原则
使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替原则.依赖倒置原则.接口隔离原则. ...
- 优先队列底层实现是堆(heap)(操作系统进程调度)
只有一个CPU的情况下,比如作业系统中的调度程序,当一个作业完成后,需要在所有等待调度的作业中选择一个优先级最高的作业来执行(删除),并且也可以添加一个新的作业到作业的优先队列中(插入). 插入操作 ...
- Netty5.x 和3.x、4.x的区别及注意事项(官方翻译)
Netty5.x 和3.x.4.x的区别及注意事项 (官方翻译) 本文档列出了Netty5新版本中值得注意变化和新特性列表.帮助你的应用更好的适应新的版本. 不像Netty3.x和4.x之间的变化 ...
- lvds cable信号
http://forums.bit-tech.net/showthread.php?t=208616
- 【转】Linux 图形界面与命令行模式切换
原文网址:http://blog.csdn.net/ldl22847/article/details/7600368 Tip:使用环境VMware Workstation OS:CentOS 6 ...
- POJ1236学校网络——tarjan
题目:http://poj.org/problem?id=1236 Tarjan+缩点.温习一下Tarjan的写法. 1.在缩点后的TAG中,有几个联通块等价于有几个入度为0的点! 2.把它们都联通相 ...
- UT报错误:A granted authority textual representation is required
原因:团队唯一标识数据为空,必须保证唯一 牵连需要改进的代码: UserDetailService.java 60行"初始化角色集合"未进行异常处理
- (5)函数式接口的简单使用之Predicate
我们经常操作List,例如现在有一个功能要求在所有人中筛选出年龄在20岁以上的人. public class MyTest { private final List<Person> ...
- java 方法(函数)
所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.p ...