一、环境版本信息:

操作系统:windows10

Django版本:2.0.5

Python版本:3.6.4

Mysql版本: 5.5.53   安装mysql

二、安装Mysqlclient:

1、为什么安装Mysqlclient:

Mysqlclient是MySQLdb连接库的一个分支,它修复了一些在MySQLdb连接路中存在的bug,并添加了对Python3的支持。Mysqlclient的底层是由C编写实现的,相比于PyMySQL,运行速度快一些。

2、使用命令:pip install mysqlclient

三、修改配置文件settings.py

DATABASES是设置MySQL的信息,NAME是数据库名,USER是用户名,PASSWORD是登录密码,HOST是localhost或者127.0.0.1,PORT是端口号(默认是3306)

# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test_django',
'USER': 'root',
'PASSWORD':'root',
'HOST':'127.0.0.1',
'PORT':'3306',
}
}

四、修改在App文件夹下的models.py

用来创建表blog_users 字段blog_username 和blog_link,创建后它会自动创建id字段

from django.db import models

# Create your models here.
class users(models.Model):
blog_username = models.CharField(max_length=20)
blog_link = models.CharField(max_length=50)

五、在命令行中输入以下命令

python manage.py migrate #执行迁移

此时数据库会生成系统自定义的表如下图:

接下来在命令行中依次输入:

python manage.py makemigrations App  #生成迁移
python manage.py migrate App #执行迁移

此时再在数据库中可以看到咱们自定义的表:app_users 插入一条数据如下图:

六、修改views.py和index.html文件

from django.shortcuts import render
from App.models import users
# Create your views here. def index(request):
user = users.objects.get(id=1) # 找到id==1的数据
context = {'user':user}
return render(request, 'index.html', context)
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
</head>
<body >
<p>博客昵称:{{ user.blog_username }}</p>
<p>博客链接:{{ user.blog_link }}</p>
</body>
</html>

七、开启服务 python manage.py runserver 默认端口8000

八、注意事项

若你将自己建的表例如:app_users删了想利用python manage.py migrate App重新创建该表会出现  django.db.utils.ProgrammingError: (1146, u"Table'' doesn't exist") 错误

1、问题原因

django在第一次迁移的时候新建表,后面再执行该命令都不会新建表,而是只检查字段等等的变化,而我们删除了这张表,django检查不到该字段就会出现错误。

2、解决方案

第一步:在该App文件夹下的migrations文件夹中保留前两个文件其余全删掉,例如:

第二步:将数据库 django_migrations这张表中的 app等于与应用名一样的数据删除 这里我的应用名是 App

第三部:再次执行命令

python manage.py makemigrations App  #生成迁移
python manage.py migrate App #执行迁移

【Django笔记三】Django2.0配置mysql模型的更多相关文章

  1. Django:Python3.6.2+Django2.0配置MySQL

    持续学习Django中... Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据 ...

  2. Django:Python3.6.2+Django2.0配置MySQL 转载

    Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据库... 我使用的版本是:Py ...

  3. django2.0+连接mysql数据库迁移时候报错

    django2.0+连接mysql数据库迁移时候报错 情况一 错误信息 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 ...

  4. python2.X现在不能安装Django了:Collecting django Using cached Django-2.0.tar.gz

    使用pip安装django2: pip install django 报错: Collecting django  Using cached Django-2.0.tar.gz    Complete ...

  5. django笔记三之admin的管理

    django笔记三之admin的管理 设置自动admin应用 vim todos/settings.py INSTALLED_APPS = ( 'django.contrib.admin', 新版本已 ...

  6. 【Django笔记二】Django2.0配置模板和静态文件

    一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 二.创建模板 1.在my_project文件夹下新建文件夹templates用于存放模板文 ...

  7. python3下Django2.0配置最新xadmin详解

    1,打开pycharm,创建一个Django项目 2,安装Django,默认是最新版本,pip3 install -i https://pypi.douban.com/simple/ django 3 ...

  8. centos 7 安装solr7.3.0 配置mysql

    1.下载solr :wget http://archive.apache.org/dist/lucene/solr/7.3.0/solr-7.3.0.tgz   或者去官网自己下:http://arc ...

  9. Spark学习笔记-三种属性配置详细说明【转】

    相关资料:Spark属性配置  http://www.cnblogs.com/chengxin1982/p/4023111.html 本文出处:转载自过往记忆(http://www.iteblog.c ...

随机推荐

  1. 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法

    解决办法是Form类中定义一个静态的ActiveX对象,在formload中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可. public static AxClientDri ...

  2. node定时任务

    var schedule = require('node-schedule') require('shelljs/global'); function scheduleCronstyle(){ sch ...

  3. Junit 单元测试、BeanUtils、Properties类

    一. Junit单元测试 1.1. Junit单元测试框架的基本使用 一.搭建环境: 导入junit.jar包(junit4) 二.写测试类: 0,一般一个类对应一个测试类. 1,测试类与被测试类最好 ...

  4. CentOS 7运维管理笔记(1)----设置默认启动模式为GUI模式或命令行模式

    昨天在虚拟机中安装CentOS 7时选择了GNOME模式安装,开机默认进入GUI模式.网上搜找修改为默认命令行模式的方法,看到说修改 /etc/inittab文件,在最低下一行添加 但是 使用 cat ...

  5. ES6入门——变量的解构赋值

    1.数组的解构赋值 以前为变量复制,只能直接指定值.现在ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 本质上,这种写法属于模式匹配,只要等 ...

  6. IDEA maven 多项目 出现 java 程序包找不到

    使用idea 多项目引入的时候,出现报错信息:Error java程序包找不到 解决办法: 我在引入多个项目的时候,他们是在一个目录里面的.我把整个目录引入了进去.结果报依赖包找不到. 把引入的全部项 ...

  7. qwewq

  8. LearnHowToThink

    一.BubbleSort and XListview 1.BubbleSort (1)analysis traverse.compare.exchange.cycle.optimize strateg ...

  9. leetcode-palindrome partitioning-ZZ

    http://yucoding.blogspot.com/2013/08/leetcode-question-132-palindrome.html Analysis:When face the &q ...

  10. Latex 参考文献引用

    转:http://blog.sina.com.cn/s/blog_4b164557010143tl.html 导入 \usepackage[option]{natbib} 具体的 option 有 r ...