2022-10-27 344
前言
这次咱们来简述一下,Django如何连接Mysql。
默认情况下,Django连接的是自己带的sqlite数据库。
这种数据库好处是方便,不需要远程连接,打包项目挪到其他电脑上安装一下依赖一会就跑起来了。
但是缺点就是,可能会出现各种莫名其面的问题,所以,尽可能在开始的时候,就配置上连接Mysql。
连接Mysql
Django连接Mysql分三步
1.Mysql提前创建好数据库
首先,我使用的是本机的Mysq,并且我在Mysq上创建了一个school数据库。
2.修改Django的settings.py文件
创建一个Django项目,在项目文件夹下的settings.py下,找到原来的sqlite配置文件。
注销或删除sqlite配置,添加以下配置。
复制以下代码
DATABASES={ 'default':{ 'ENGINE':'django.db.backends.mysql',#默认 'NAME':'school',#连接的数据库 'HOST':'127.0.0.1',#mysql的ip地址 'PORT':3306,#mysql的端口 'USER':'root',#mysql的用户名 'PASSWORD':'rootroot'#mysql的密码 } }
3.修改项目文件夹下的__init.py文件
由于配置了Mysql,所以要替换默认的数据库引擎,在项目文件夹下的__init__.py,添加以下内容。
复制以下代码
importpymysql pymysql.install_as_MySQLdb()
如果没有安装pymysql,记得安装一下,命令:pip install pymysql。
迁移数据库
如果上述都没问题了,那我们来写个小Demo来跑一下试试。
迁移数据库流程。
1.创建app(Django必须依赖app才能创建表)
首先呢,我们需要在Django中,创建一个app。命令如下:
python manage.py startapp web
2. settings.py中添加创建的app
创建完之后,我们需要在settings.py中配置一下刚刚创建的app。
3.迁移
然后执行命令,迁移数据库到Mysql。
pythonmanage.pymakemigrations pythonmanage.pymigrate
生成的表。
会生成很多其他表,不用管他,只要咱们要的。
我这里直接手动向刚刚创建的表里面添加一些数据。
展示内容
展示内容大概分为以下几个部分。
1.编写url
urls.py
urlpatterns=[ path('admin/',admin.site.urls), path('student_list',views.student_list), ]
2.编写视图(views)
web/views.py
defstudent_list(request): student_queryset=models.Student.objects.all() returnrender(request,"student.html",{"student_queryset":student_queryset})
3.编写html(templates)
templates/student.html
<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>Title</title> </head> <body> <tableborder="1"> <thead> <tr> <td>id</td> <td>姓名</td> <td>年龄</td> <td>性别</td> <td>年纪</td> </tr> </thead> <tbody> {%forstudentinstudent_queryset%} <tr> <td>{{student.id}}</td> <td>{{student.name}}</td> <td>{{student.age}}</td> <td>{{student.gender}}</td> <td>{{student.grade}}</td> </tr> {%endfor%} </tbody> </table> </body> </html>
id | 姓名 | 年龄 | 性别 | 年纪 |
{{ student.id }} | {{ student.name }} | {{ student.age }} | {{ student.gender }} | {{ student.grade }} |
4.启动web
命令
pythonmanage.pyrunserver127.0.0.1:8000
打开游览器,输入http://127.0.0.1:8000/student_list
如图所示!
总结
本次主要讲述的是Django如何连接Mysql。并且顺带的做了一个测试小Demo,展示一个web是如何运行起来的。如果基础不好,我相信后面这些还是很有用的。
pymysql的版本不建议安装太高,我的是pymysql版本是0.9.2,Django版本是2.1.5。
如果你觉得文章还可以,记得点赞留言支持我们哈。感谢你的阅读,有问题请记得在下方留言噢~
原文链接:https://77isp.com/post/10272.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态