在py3.*中利用django使用mysql时,会出现一些问题。由于django默认的是 MySQLdb,但MySQLdb目前不支持py3.*所以我们要改用pymysql,首先要安装pymysql,命令如下:

pip3 install pymysql

然后我们去项目同名的文件夹下找到setting.py中修改:

 DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': "dbname",
"USER":"dbusername",
"PASSWORD":"dbpassword",
"HOST":"127.0.0.1",
"PORT":"",
}
}

最后 去项目同名的文件夹下找到 __init__.py文件并在其中添加如下代码:

import pymysql
pymysql.install_as_MySQLdb()

然后执行:

python manage.py makemigrations

python manage.py migrate

做一个小的测试:

创建一个app

python manage.py startapp app02

由于想让app2管理app2下面所有的链接地址,而不是通过项目同名下的文件中的urls.py来管理那么我们需要这么做

项目同名文件夹中的urls.py

 from django.contrib import admin
from django.urls import path,re_path,include
urlpatterns = [
path('admin/', admin.site.urls),
path("cmdb/",include("app02.urls")),
]

重点是path("cmdb/",include("app02.urls"))  然后我们在app02下创建一个urls.py

"""study_django01 URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path,re_path
from app02 import views
urlpatterns = [
path("orm/",views.orm),
]

然后再app002下的models.py中编写如下代码

 from django.db import models

 # Create your models here.

 # 必须继承models.Model

 class UserInfo(models.Model):
# id列 自增 主键 系统默认会创建这样的玩意儿
username = models.CharField(max_length=32)
password = models.CharField(max_length=64)

在命令行执行

python manage.py makemigrations

python manage.py migrate

去数据库中查看对应的数据库,可以看到系统为您生成了app02_userinfo表,并且字段就是你填写的两个字段,需要注意的是,系统将会为你自动生成Id字段,并且是自增、主键。

最后在app002下的view.py中编写如下代码

 from django.shortcuts import render,HttpResponse

 # Create your views here.
from app02 import models def orm(request):
# 增*********************
# 创建数据方式一 (推荐)
# models.UserInfo.objects.create( username="root", password="123456") # 创建数据方式二
# obj = models.UserInfo(username="root",password="123456")
# obj.save() # 创建数据方式三
# dic = {"username":"eric","password":"6666"}
# models.UserInfo.objects.create(**dic) # 查**********************
# 查所有
result = models.UserInfo.objects.all()
print(result)
for row in result:
print(row.id,row.username,row.password) # 按条件查
result1 = models.UserInfo.objects.filter(username="root",password="")
print(result1) # 删除
# 全部删除
# models.UserInfo.objects.all().delete() # 按条件删除
models.UserInfo.objects.filter(id=4).delete() # 更新
# 全部更新
models.UserInfo.objects.all().update(password=666)
# 指定更新
models.UserInfo.objects.filter(id=3).update(password=111) return HttpResponse("orm")

pythonのdjango连接MYSQL的更多相关文章

  1. Python Django连接(听明白了是连接不是创建!)Mysql已存在的数据库

    再声明一次!是连接不是创建!网上的一些人难道连接和创建这俩词都弄不懂就在那里瞎写一些文章! (Python Django连接存在的数据库) Python连接存在的数据库-------MySql 1.首 ...

  2. python测试开发django-10.django连接mysql

    前言 Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.本篇以mysql为例简单介绍django连接mysql进行数据操作 Django连 ...

  3. Django 连接mysql数据库中文乱码

    Django 连接mysql数据库中文乱码 2018年08月25日 20:55:15 可乐乐乐乐乐 阅读数:566   版本:CentOS6.8 python3.6.4 django1.8.2 数据库 ...

  4. django连接mysql数据库以及建表操作

    django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找 ...

  5. Python3:Django连接Mysql数据库时出错,'Did you install mysqlclient or MySQL-python?'

    Python3:Django连接Mysql数据库时出错,'Did you install mysqlclient or MySQL-python?' 一.原因 因为Python版本问题,MySQLdb ...

  6. 3.django连接mysql数据库及安装mysqldb驱动报错解决办法

    1.在setting.py设置连接数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'djang ...

  7. Python3之Django连接mysql数据库

    一.mysql服务器 系统版本:CentOS6.8 IP :10.0.0.51 版本 1.授权root远程登录 grant all on *.* to 'root'@'%' identifide by ...

  8. Django 连接 MySQL 数据库及常见报错解决

    目录 Django 连接 MySQL数据库及常见报错解决 终端或者数据库管理工具连接 MySQL ,并新建项目所需数据库 安装访问 MySQL 的 Python 模块 Django 相关配置 可能会遇 ...

  9. [技术博客]django连接mysql数据库的方法及部分问题的解决方法

    配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版本:Django 2.2 MySql版本:5.7.26 数据库选择 我们 ...

随机推荐

  1. NSSM安装服务

    NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行.同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大.它的特点如下: 支持普通 ...

  2. Kaggle教程——大神教你上分

    本文记录笔者在观看Coursera上国立经济大学HLE的课程 How to win a data science competetion中的收获,和大家分享.课程的这门课的讲授人是Kaggle的大牛, ...

  3. Neutron local network 学习

    local network 的特点是不会与宿主机的任何物理网卡相连,也不关联任何的 VLAN ID.   对于每个 local netwrok,ML2 linux-bridge 会创建一个 bridg ...

  4. Scrum Meeting博客目录

    博客要求 Scrum Meeting 博客 Scrum Meeting 博客目录 1.Alpha版本 [团队项目]第一次Scrum Meeting [团队项目]第二次Scrum Meeting [团队 ...

  5. GET与POST类型接口

    工作当中经常用到这两种类型的接口,一直对它们两个的区别一知半解,并不能从原理上说出区别. GET和POST最直观的区别应该就是GET将url包含在参数当中,POST通过request body(请求主 ...

  6. express和cors跨域

    使用express框架: Express: Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能. Express 框架核 ...

  7. IdentityServer4【Topic】Consent

    Conset这个概念在Identityserver4中是表示要当前用户对第三方应用对资源请求的一个确认,它会被做成一个页面. 术语映射: Consent page--确认页面,我喜欢叫做Consent ...

  8. 数据库优化-mysql中INNODB和MYIASM引擎的区别

    Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别. 该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQ ...

  9. poj-2516(最小费用流)

    题意:有n个商店,每个商店有k种货物,每个货物需要a[n][k]个,有m个仓库,每个仓库也有k种货物,每个货物有b[m][k]个,然后k个矩阵,每个矩阵都是n*m的,第i行第j列表示从仓库j到商店i每 ...

  10. leetcode-884两句话中的不常见单词

    ''' 给定两个句子 A 和 B . (句子是一串由空格分隔的单词.每个单词仅由小写字母组成.) 如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的. 返回所有 ...