Django中更改默认数据库为mysql的方法示例
作者:飘在云层的念想 发布时间:2024-01-23 03:19:56
Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。
由于项目用得python3,而MySQLdb没有支持python3的版本,如果使用python3.x版本时,pip install MySQLdb时会报错。
后来通过谷歌发现可以使用pymysql替代MySQLdb
1 在项目根目录下的__init__.py文件中加入如下代码:
import pymysql
pymysql.install_as_MySQLdb()
2 使用mysqlclient代替MySQLdb,安装方式为:
pip install mysqlclient
3 更改项目setting.py中对数据库的配置为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test',
'USER': 'username',
'PASSWORD': 'passwd',
'HOST': 'localhost',
'PORT': '3306'
}
}
4 最后通过python manage.py migrate命令,Django会在数据库中自动创建相应的表
Operations to perform:
Apply all migrations: admin, auth, contenttypes, polls, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying polls.0001_initial... OK
Applying sessions.0001_initial... OK
5 在创建admin用户时,遇到了如下报错
python manage.py createsuperuser
Superuser creation skipped due to not running in a TTY. You can run `manage.py createsuperuser` in your project to create one manually.
后来查了一下,是因为使用了git来执行命令,切换到Windows自带的命令行,可以解决该问题!
来源:https://segmentfault.com/a/1190000017252348


猜你喜欢
- 有时我们在定义字段名及别名时所用名与oracle关键字同名,这时该如何处理呢? 其实很简单,只要在此关键字加上"",如&
- 本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下<!DOCTYPE html><htm
- 代码很简洁,这里就不多废话了,直接上源码html代码 <!doctype html> <html>
- 前言任务描述:当前有一份excel表格数据,里面存在缺失值,需要对缺失的数据到es数据库中进行查找并对其进行把缺失的数据进行补全。excel
- 可以使用Python的email模块来实现带有附件的邮件的发送。SMTP (Simple Mail Transfer Protocol)邮件
- 可以说,互联网就是由一个个链接进行信息流通的。没有连接的网站如同一潭死水,毫无生气。当一个访客进入你的网站,在浏览的过程中,如果你的内容不引
- 开始前一阵子,在项目中碰到这样一个SQL查询需求,有两个相同结构的表(table_left & table_right),如下:图1
- 如果内部修改外部变量需要nonlocal,globaldef f1(): print("in f1..") num=11
- 方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) varchar和nvarc
- HTML文档是互联网上的主要文档类型,但还存在如TXT、WORD、Excel、PDF、csv等多种类型的文档。网络爬虫不仅需要能够抓取HTM
- 你无法创建一个相同的用户并mapping这个用户到数据库, 并且你无法删除数据库的用户:DemoUser. 请运行以下脚本, 之后你就可以删
- itchat是python开源第三方库,用于搭建微信机器人,几十行代码就能帮你实现自动的处理所有信息。比如,添加好友,搭建自动回复机器人,还
- 在密码学中,凯撒密码(或称恺撒加密、恺撒变换、变换加密)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术。这个加密方法是以恺撒的名
- mysql数据库中的表数据量几千万后,查询速度会很慢,日常各种卡慢,严重影响使用体验。在考虑升级数据库或者换用大数据解决方案前,必须优化现有
- 技巧 16:如果页面需要很长时间才能完成,那么执行前使用 Response.IsClientConnected 如果用户性急,他们可能会在您
- 本文研究的主要是python模块之paramiko的相关用法,具体实现代码如下,一起来看看。paramiko模块提供了ssh及sft进行远程
- 因为工作需要,最近开始学习Python;而项目上用到了永中文档转换服务,就想着要不要拿这个练练手。仰仗于Python的易用性,不一会就完成了
- 什么是函数重载?简单的理解,支持多个同名函数的定义,只是参数的个数或者类型不同,在调用的时候,解释器会根据参数的个数或者类型,调用相应的函数
- 控制的前提是已经运行Microsip.exe 首先选择文件,选择txt格式文件,一行一个手机号格式;如下点击拨打下一个
- 本文实例讲述了JS实现给对象动态添加属性的方法。分享给大家供大家参考,具体如下:在工作用要用到给jd对象动态添加属性的要求,在网上找到了一种