当前位置: 首页 > 后端技术 > Python

pythondjangomysql配置

时间:2023-03-26 17:31:36 Python

1Django默认支持sqlite、mysql、oracle、postgresql数据库。<1>sqliteDjango默认使用sqlite数据库,默认自带sqlite数据库驱动,引擎名:django.db.backends.sqlite3<2>mysql引擎名:django.db.backends.mysql2mysql驱动MySQLdb(mysqlpython)mysqlclientMySQLPyMySQL(纯pythonmysql驱动)3在django项目中,默认会使用sqlite数据库。settings中有如下设置:如果我们要更改数据库,需要修改如下:;"复制代码")DATABASES={'default':{'ENGINE':'django.db.backends.mysql','NAME':'books',#yourdatabasename'USER':'root',#yourdatabaseusername'PASSWORD':'',#你的数据库密码'HOST':'',#你的数据库主机,留空默认为localhost'PORT':'3306',#你的数据库端口}};"复制代码");《复制代码》)NAME是数据库的名字,数据库必须在连接mysql之前创建好,上面的sqlite数据库下的db.sqlite3是项目自动创建的。USER和PASSWORD分别是数据库的用户名和密码。设置好之后,在开始我们的Django项目之前,我们需要激活我们的mysql。然后在启动项目的时候会报错:nomodulenamedMySQLdb。这是因为django默认你导入的驱动是MySQLdb,但是MySQLdb对py3有很大的问题,所以我们需要的驱动是PyMySQL。因此,我们只需要找到__init__文件下的工程名,在里面写上:importpymysqlpymysql.install_as_MySQLdb()问题就解决了!;《复制代码》)创建数据库先用MySQL创建数据库,然后在model.py中写入数据表;"复制代码")classBook(models.Model):#id=name=models.CharField(max\_length=20)price\=models.FloatField()pub\_date\=models.DateField()classAuthor(models.Model):name\=models.CharField(max\_length=32);“复制代码”)在终端运行pythonmanage.pymakemigrationsD:\pycharm\python_s3\Django_ORM>pythonmanage.pymakemigrationsMigrationsfor'app01':app01\migrations\0002_author.py-创建模型作者运行pythonmanage.pymigrateD:\pycharm\python_s3\Django_ORM>interminalpythonmanage.pymigrateOperationstoperform:Applyallmigrations:admin,app01,auth,contenttypes,sessionsRunningmigrations:Applyingapp01.0003_book_author...OK表建好,文章需要置顶;)关注我;)为这篇文章添加书签;)"分享到新浪微博");《分享到微信》)

最新推荐
猜你喜欢