第一步:win10下载mysql5.7压缩包配置安装mysql,创建数据库或导入数据库

第二步:win10搭建django2.1.7开发环境,创建项目为mytestsite,创建应用app为quicktool

第三步:编辑与项目同名的文件夹的配置文件(mytestsite/settings.py),配置数据库信息

DATABASES = {'default': {# 'ENGINE': 'django.db.backends.sqlite3',# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),'ENGINE':'django.db.backends.mysql','NAME':'数据库名称','USER':'数据库账号','PASSWORD':'数据库密码','HOST':'数据库地址,本地的话即为localhost','PORT':'数据库端口,默认为3306',}
}
复制代码

第四步:编辑与项目同名的文件夹的__init__.py文件(mytestsite/init.py),引入mysql数据库

import pymysql
pymysql.install_as_MySQLdb()
复制代码

第五步:在项目的manage.py所在路径下使用命令

python manage.py inspectdb  >  D:\django_test\mytestsite\quicktool\models.py
复制代码

集成已有的数据库和应用,生成models,复制到应用app的models.py中(quicktool/models.py) 命令行结束返回无报错即成功,quicktool的models.py 文件会自动复制生成本地环境已有数据库的类,类名为数据表名,继承自models.Model,每个类定义有数据表内的字段名

报错: django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None

解决: 找到Python安装路径下的的Python37\Lib\site-packages\django\db\backends\mysql\base.py文件, 将文件中的如下代码注释

if version < (1, 3, 3):raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
复制代码

报错: File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query query = query.decode(errors='replace') AttributeError: 'str' object has no attribute 'decode'

解决: 找到所在文件代码行,将decode改为encode即可

第六步:使用Django shell查询数据表并返回结果

在项目的manage.py所在路径下使用命令 python manage.py shell

报以下错误信息: AssertionError: Model quicktool.AppVersionInfo can't have more than one AutoField.

原因是:第五步复制导入的数据库的部分表里增加了AutoField列,但是又不指定这个列作为主键,全文搜索应用app的models.py文件出现models.AutoField()的地方,为django的AutoField字段设定为主键models.AutoField(primary_key=True)即可解决 再继续使用以下命令行查询数据

python manage.py shell
from quicktool.models import AppVersionInfo
AppVersionInfo.objects.get(version_code=10)
复制代码

数据库里有表AppVersionInfo和字段version_code

CREATE TABLE `app_version_info` (version_code` int(3) NOT NULL DEFAULT '0')
复制代码

查询结果打印的是id值,并没有显示出具体相关数据表的信息

在quicktool/models.py文件中的每个类增加以下代码即可解决打印问题

def __str__(self):# 在Python3中使用  def __unicode__(self):return self.url
复制代码

新增方法后,打印的是数据表的具体数据

第七步:将查询的结果可视化到网页上 quicktool/views.py文件:

from django.http import HttpResponse
from quicktool.models import AppVersionInfo
def index(request):appl = AppVersionInfo.objects.get(version_code=25)return HttpResponse(str(appl))
复制代码

mytestsite/mytestsite/urls.py文件的路径,其余省略:

from quicktool import views as quicktool_views   # 新增
urlpatterns = [path('', quicktool_views.index, name='home'),  # 新增
]
复制代码

quicktool/templates/home.html文件的body,其余省略:

<body>
{{ appl }}
</body>
复制代码

查询结果可视化显示在网页,显示如下:

转载于:https://juejin.im/post/5cc6b4bde51d456e3267e492

Django web框架-----Django连接现有mysql数据库相关推荐

  1. Django web框架-----Django连接本地现有mysql数据库

    第一步:win10下载mysql5.7压缩包配置安装mysql,创建数据库或导入数据库 第二步:win10搭建django2.1.7开发环境,创建项目为mytestsite,创建应用app为quick ...

  2. Django连接现有mysql数据库

    1.打开cmd后cd到项目位置 2.建立项目 django-admin startproject test2 3.编辑项目中的配置文件, mysite/settings.py ,告诉Django你的数 ...

  3. python搭建django框架,Python之Web框架Django项目搭建全过程

    Python之Web框架Django项目搭建全过程 IDE说明: Win7系统 Python:3.5 Django:1.10 Pymysql:0.7.10 Mysql:5.5 注:可通过pip fre ...

  4. Django web 框架学习之旅(3)

    <Django Web 框架> 目录 静态文件 Django中的应用 - app 什么是应用(app) 创建应用app Django应用的结构组成 数据库 和 模型 Django下使用my ...

  5. Django web框架学习之旅(4)

    <Django Web 框架> 目录 Django shell的使用 admin 后台数据库管理 自定义后台管理数据表 修改后台Models的展现形式 模型管理器类 数据库表管理 数据表关 ...

  6. Django Web框架教学笔记-1

    <Django Web框架教学笔记> 目录 文章目录 <Django Web框架教学笔记> 目录 Django框架的介绍 Django的安装 Django框架开发 创建项目的指 ...

  7. Python Web框架Django学习(二)

    python web框架Django学习(二) 目录:  三.Django创建APP  四.创建登录页面,实现用户交互,后台管理用户(非数据库方式) ========================= ...

  8. Web框架Django使用概览

    Web框架Django使用概览 标签: django python 1 开始一个新项目 django的安装比较简单,在命令行里执行下面的命令. pip install django 为了能使用djan ...

  9. python的Web框架Django运行报错:Invalid HTTP_HOST header: 'xxx.xx.xxx.xxx:8000'. You may need to add 'xxx.xx'

    python的Web框架Django运行报错:Invalid HTTP_HOST header: 'xxx.xx.xxx.xxx:8000'. You may need to add 'xxx.xx' ...

最新文章

  1. Django入门之开发环境搭建1.1
  2. mongodb java 日志分析_记一次log4j与mongodb集成引发的问题分析
  3. 怎么提高单片机编程水平?
  4. IIS7 设置读取、脚本和可执行文件的执行权限的步骤
  5. 优秀的软件测试人员应该具备的素质
  6. 微众WeCross 跨链平台(12)合约总结
  7. huawei hardware questions
  8. botley编程机器人测评_浅谈少儿编程教育启蒙----教具篇
  9. Apache+php+mysql安装与配置详解
  10. es中的search_type简单理解
  11. ubuntu linux 搭建ftp虚拟目录
  12. HiBit Startup Manager(电脑开机启动项管理软件)官方中文版V2.3.20 | 电脑启动项管理工具下载
  13. 文本时间修改器android,NewFileTime(文件时间修改器)
  14. 读取阿里云服务器图片到本地
  15. 我模仿了一个自助装机的页面,可是有一个功能一直实现不了。请求高手帮我看看。
  16. C++ 多态性 (polymorphism)
  17. java agent简介热部署SDK接入
  18. springmvc接收请求参数(springmvc教程二)
  19. 成功解决:免费使用Pycharm专业版
  20. oracle wallet java_使用Oracle客户端wallet实现匿名登录

热门文章

  1. Spring源码分析【8】-MyBatis注解方法不能重载
  2. Qt中文手册 之 QTableWidgetItem
  3. 3650服务器性能,全新联想System x3650 M4服务器性能出色
  4. 3dcaptcha php,验证simple-php-captcha()输入
  5. mysql网页后台_jsp+servlet+mysql开发java web旅游网站,有后台管理系统
  6. yum安装mysql后密码_Centos7:yum安装MySQL5.7后如何设置root密码
  7. android首页图片轮播效果,Android_Android自动播放Banner图片轮播效果,先看一下效果图支持本地图 - phpStudy...
  8. 在文件中查找指定字符串
  9. 文件流能转换格式吗_amr转换mp3格式文件
  10. React for循环渲染组件