前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用python的Django库开发一个简单的数据可视化网站(三)- 使用Django连接数据库mysql

使用python的Django库开发一个简单的数据可视化网站(三)- 使用Django连接数据库mysql

作者头像
你像时光唯美i
发布2022-08-26 14:03:41
1.4K0
发布2022-08-26 14:03:41
举报
文章被收录于专栏:python开发教程

这节课我们主要讲解的是使用Django框架连接数据库mysql,收到后台私信的朋友说让我简单说一下Django框架,这里先为大家简单介绍一下Django框架。

Django和flask是Python的两个主流网站开发工具,其中Django采用MTV设计模式,其中M代表models模型,T代表templates模板,V代表view视图。Django遵循MVC设计模式的框架,MVC是Model、View、Controller三个单词的简写,分别代表模型、视图、控制器。Django的设计非常优美:

  1. 对象关系的映射:ORM,ORM可以使用python设计mysql的数据表字段,可以在python直接使用命令在mysql数据库中创建数据表。
  2. url的分派:可以直接使用正则表达式匹配网页路由
  3. 模板系统:可以在框架中定义不同的子应用
  4. 表单处理:可以方便的生产各种表单
  5. cache和session:方便缓存和保持用户会话

Django作为python的主流网站开发框架,拥有非常多的优势。接下来我们开始正题。

(一)在子应用的models.py中设置数据表字段

字段名称包括id,教师名称,教师所在院系,文章题目,文章作者,来源,发表日期,引用数量和下载数量。

(二)进行数据迁移

使用python manage.py makemigrations和python manage.py migrate

数据迁移后Django会连接mysql并自动创建好数据表和字段,这就是Django ORM数据对象映射的优势。

(三)将数据导入mysql

这里我准备了一段代码,运行这段代码可以将数据导入数据库。

代码语言:javascript
复制
def get_conn():
    db = pymysql.connect(host="127.0.0.1", port=3306,
                         user="", password="",
                         db="",charset="utf8")
    return db


def insert(cur, sql, args):
    try:
        cur.execute(sql, args)
    except Exception as e:
        print(e)
        #db.rollback()
def read_csv_to_mysql(filename):
    with codecs.open(filename=filename, mode='r', encoding='utf-8') as f:
        reader = csv.reader(f)
        head = next(reader)
        print(head)
        conn = get_conn()
        cur = conn.cursor()
        sql = 'insert into article values(%s,%s,%s,%s,%s,%s,%s,%s,%s)'
        for item in reader:
            # if item[1] is None or item[1] == '':  # item[1]作为唯一键,不能为null
            #     continue
            args = tuple(item)
            print(args)
            insert(cur, sql=sql, args=args)

        conn.commit()
        cur.close()
        conn.close()


if __name__ == '__main__':
    read_csv_to_mysql(r"/Users/weiboning/Desktop/teacherarticle/总数据.csv")

(四)在后端视图函数中获取数据库数据

在view.py定义后端函数获取数据库的数据

这里get获取到所有的数据,使用post查询数据

(五)在前端html代码中修改获取后端获取数据

jinja2模板使用for循环可以遍历所有的数据。

(六)最终效果

这就是数据库中所有的数据和查询数据后返回的结果。

好了,就到这里了,大家有什么问题可以后台私聊我。非常感谢。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python开发教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档