用django调用MySQL完成以下语句的编写:show tables; insert into bookinfo(btitle,bpub_date,bread,bcommet,isDelete) values ('射雕英雄传','1980-5-1',12,34,0), ('天龙八部','1986-7-24',36,40,0), ('笑傲江湖','1995-12-24',20,80,0), ('雪山飞狐','1987-11-11',58,24,0); select * from bookinfo; # localhost:8000/book/show/ 显示全部信息 页面名称show.html

时间: 2023-08-07 21:02:00 浏览: 38
在 Django 中使用 MySQL,需要安装 MySQLdb 或 pymysql 库。这里我们选择安装 pymysql 库。 1. 安装 pymysql 库 在终端中输入以下命令进行安装: ``` pip install pymysql ``` 2. 配置 Django 的数据库连接 在 settings.py 文件中添加以下内容: ``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名', 'USER': '用户名', 'PASSWORD': '密码', 'HOST': 'localhost', 'PORT': '3306', 'OPTIONS': { 'charset': 'utf8mb4', }, }, } ``` 将其中的数据库名、用户名、密码修改为自己的信息。 3. 创建 BookInfo 模型类 在 models.py 文件中添加以下内容: ``` from django.db import models class BookInfo(models.Model): btitle = models.CharField(max_length=20) bpub_date = models.DateField() bread = models.IntegerField() bcommet = models.IntegerField() isDelete = models.BooleanField(default=False) def __str__(self): return self.btitle class Meta: db_table = 'bookinfo' ``` 4. 创建视图函数 在 views.py 文件中添加以下内容: ``` from django.shortcuts import render from .models import BookInfo from django.db import connection def show(request): cursor = connection.cursor() cursor.execute('show tables;') tables = cursor.fetchall() BookInfo.objects.create(btitle='射雕英雄传', bpub_date='1980-5-1', bread=12, bcommet=34, isDelete=False) BookInfo.objects.create(btitle='天龙八部', bpub_date='1986-7-24', bread=36, bcommet=40, isDelete=False) BookInfo.objects.create(btitle='笑傲江湖', bpub_date='1995-12-24', bread=20, bcommet=80, isDelete=False) BookInfo.objects.create(btitle='雪山飞狐', bpub_date='1987-11-11', bread=58, bcommet=24, isDelete=False) books = BookInfo.objects.all() context = { 'tables': tables, 'books': books, } return render(request, 'show.html', context) ``` 在这个视图函数中,我们先执行了 show tables; SQL 语句,获取到所有的表名。然后,我们使用 BookInfo 模型类的 objects.create() 方法,向 bookinfo 表中插入了四条数据。最后,使用 BookInfo 模型类的 objects.all() 方法,获取到了 bookinfo 表中的全部数据。 5. 创建 show.html 模板文件 在 templates 目录下创建 show.html 文件,添加以下内容: ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>书籍信息</title> </head> <body> <h2>数据库中的所有表:</h2> <ul> {% for table in tables %} <li>{{ table }}</li> {% endfor %} </ul> <h2>书籍信息:</h2> <table> <thead> <tr> <th>书名</th> <th>出版日期</th> <th>阅读量</th> <th>评论量</th> <th>是否删除</th> </tr> </thead> <tbody> {% for book in books %} <tr> <td>{{ book.btitle }}</td> <td>{{ book.bpub_date }}</td> <td>{{ book.bread }}</td> <td>{{ book.bcommet }}</td> <td>{{ book.isDelete }}</td> </tr> {% endfor %} </tbody> </table> </body> </html> ``` 6. 创建 URLconf 在 urls.py 文件中添加以下内容: ``` from django.urls import path from . import views urlpatterns = [ path('show/', views.show, name='show'), ] ``` 7. 运行项目 在终端中输入以下命令运行项目: ``` python manage.py runserver ``` 打开浏览器,访问 http://localhost:8000/book/show/,即可看到数据库中的所有表和 bookinfo 表中的全部数据。

相关推荐

最新推荐

recommend-type

Django读取Mysql数据并显示在前端的实例

今天小编就为大家分享一篇Django读取Mysql数据并显示在前端的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

解决vue net :ERR_CONNECTION_REFUSED报错问题

主要介绍了解决vue net :ERR_CONNECTION_REFUSED报错问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

图文详解Django使用Pycharm连接MySQL数据库

主要介绍了Django使用Pycharm连接MySQL数据库的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
recommend-type

Python+Django+MySQL实现基于Web版的增删改查的示例代码

主要介绍了Python+Django+MySQL实现基于Web版的增删改查的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

django连接mysql配置方法总结(推荐)

最近在学习django,学到第五章模型时,需要连接数据库,然后,在这里分享一下方法。 起初是不知道怎样配置mysql数据库,但是还好,django的官网上面有相关的配置方法,下面就直接给分享一下。 这是settings文件...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。