python3 django整理(六)配置数据库(mysql)

python3 下的mysql驱动

django 连接mysql默认驱动是MySQLdb,MySQLdb没有支持python3的版本,如果使用python3.x版本时,django连接mysql的方法 1、使用pymysql替换MySQLdb 在配置文件同目录下的init.py文件中加入以下代码

 import pymysql
pymysql.install_as_MySQLdb()

2、使用mysqlclient代替MySQLdb,mysqlclient项目在github上的地址为 https://github.com/PyMySQL/mysqlclient-python,该项目fork MySQLdb,加入了对python3的支持 安装方式为:

pip install mysqlclient

使用方式和MySQLdb一样

配置setting

第二步:在settings.py中配置mysql连接参数(没有mysql的先装mysql) 将原有的数据库配置改写成如下: DATABASES = { ‘default’: { ‘ENGINE’: ‘django.db.backends.mysql’, ‘NAME’: ‘数据库名(你得先在mysql中创建数据库)’, ‘USER’:’mysql用户名(如root)’, ‘PASSWORD’:’密码(如123456789)’, ‘HOST’:’域名(127.0.0.1或localhost)’, ‘PORT’:’端口号(3306)’, } }

创建与操作数据

在models.py中创建model类

第三步:在models.py中创建model类

from django.db import models

# Create your models here. 类似于MVC架构中的Model
class Article(models.Model):
    title = models.CharField(max_length=60,default='title')
    content = models.TextField(null=True)

第四步:根据model类创建数据库表

1、cmd进入django项目路径下 2、python manage.py migrate #创建表结构,非model类的其他表,django所需要的 3、python manage.py makemigrations app名 #做数据迁移的准备 如:python manage.py makemigrations myblog myblog是我项目中的app名字 4、python manage.py migrate # 执行迁移,创建medel表结构

第五步:开始写代码吧

首先说下需求,就是在代码里向mysql中插入一条记录并显示到页面 1、在templates下新建一个模板,其实就是页面,如index.html {{article.title}} 内容:{{ article.content }} 使用{{ }}在页面进行数据显示,这里看下就明白 2、配置URL 1、在项目下的urls.py(注意是项目下的urls.py)配置url映射:

from django.conf.urls import url,include
from django.contrib import admin
#根url配置
urlpatterns = [
    #url(页面正则,响应的方法名称)
    url(r'^admin/', admin.site.urls),
    url(r'^myblog/',include('myblog.urls')),
]

这里注意有一个include(’myblog.urls’)是我们接下来要配置的二级url,在app下的urls.py中配置

from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
    #url(页面正则,响应的方法名称) ^index$:表示要以index开始和结束,正则约束
    url(r'^index/$',views.index),
]

现在一个路径为’localhost:8000/myblog/index/’的访问路径就配好了,url(r’^index/$’,views.index)就表示最终/myblog/index/这个路径由views.py中的index方法来响应。 3、写响应函数:如像数据中插入一个数据,并显示在页面上

from django.shortcuts import render
from django.http import HttpResponse
from myblog.models import Article
# Create your views here.
def index(request):
    article = Article(title='标题',content='内容!')
    article.save()
    return render(request,'index.html',{'article':article}

第六步:运行项目

我这里使用的pycharm,点击运行按钮即可,没有pycharm的可使用:

python manage.py runserver

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我叫刘半仙

SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架

1.2K30
来自专栏PHP在线

Composer介绍

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 依赖管理 Composer 不是一个包管理器。...

41280
来自专栏惨绿少年

Zabbix 3.0 从入门到精通(zabbix使用详解)

第1章 zabbix监控 1.1 为什么要监控      在需要的时刻,提前提醒我们服务器出问题了      当出问题之后,可以找到问题的根源      网站/...

1.2K10
来自专栏魏艾斯博客www.vpsss.net

Batcache 插件给服务器提速的安装过程

魏艾斯博客写过有关开启 memcached,opcache 缓存的文章,前者是内容缓存插件,后者是 php 缓存插件,本来以为服务器优化折腾到此就差不多了,这几...

16530
来自专栏我叫刘半仙

SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架

前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置部署都变得简单,越来越多的互联网公司已经选择Spring...

1.4K130
来自专栏数据和云

Oracle 12.2新特性掌上手册 - 第五卷 RAC and Grid

编辑手记:RAC是Oracle最重要的高可用架构之一,具有扩展性良好、实现负载均衡等多维度的优势,Oracle RAC提供了相应的集群软件和存储管理软件,今天我...

33240
来自专栏北京马哥教育

Linux开机启动(bootstrap)

计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程,我们满心期望的...

21450
来自专栏Seebug漏洞平台

从 CVE-2018-8495 看 PC 端 url scheme 的安全问题

本文受 CVE-2018-8495 漏洞的启发,以学习的目的,针对 PC 端 url scheme 的安全问题进行了分析研究。

14310
来自专栏小白安全

小白博客 Kali Linux - 开发工具介绍及应用

在本章中,我们将学习Kali Linux提供的各种开发工具。 Metasploit的 正如我们之前提到的,Metasploit是Rapid7的产品,大...

43360
来自专栏数据和云

数据恢复:如何恢复Linux中意外删除的Oracle和MySQL数据库

张乐奕 云和恩墨副总经理,Oracle ACE总监,ACOUG 联合创始人 没有删除过数据库的DBA职业生涯是不完整的,删除过数据库还能幸存的DBA一定是订阅...

33660

扫码关注云+社区

领取腾讯云代金券