【Django笔记三】Django2.0配置mysql模型
一、环境版本信息:
操作系统: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模型的更多相关文章
- Django:Python3.6.2+Django2.0配置MySQL
持续学习Django中... Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据 ...
- Django:Python3.6.2+Django2.0配置MySQL 转载
Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据库... 我使用的版本是:Py ...
- django2.0+连接mysql数据库迁移时候报错
django2.0+连接mysql数据库迁移时候报错 情况一 错误信息 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 ...
- 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 ...
- django笔记三之admin的管理
django笔记三之admin的管理 设置自动admin应用 vim todos/settings.py INSTALLED_APPS = ( 'django.contrib.admin', 新版本已 ...
- 【Django笔记二】Django2.0配置模板和静态文件
一.环境版本信息: 操作系统:windows10 Django版本:2.0.5 Python版本:3.6.4 二.创建模板 1.在my_project文件夹下新建文件夹templates用于存放模板文 ...
- python3下Django2.0配置最新xadmin详解
1,打开pycharm,创建一个Django项目 2,安装Django,默认是最新版本,pip3 install -i https://pypi.douban.com/simple/ django 3 ...
- 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 ...
- Spark学习笔记-三种属性配置详细说明【转】
相关资料:Spark属性配置 http://www.cnblogs.com/chengxin1982/p/4023111.html 本文出处:转载自过往记忆(http://www.iteblog.c ...
随机推荐
- Python-网络编程(三)
今天是网络编程的最后一天,明天会开始并发编程 socketserver模块实现并发 为什么要讲socketserver?我们之前写的tcp协议的socket是不是一次只能和一个客户端通信,如果用soc ...
- 初识shell expect
场景:工作中经常会遇到shell脚本写的连接脚本,所以稍微了解下. 一.shell Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言 ...
- 纯css模仿天猫首页
<style> *{margin:0;padding:0} li{list-style:none} a{text-decoration:none} #wrapper{font: 12px/ ...
- Easyui datagrid加载数据时默认全选的问题
问题描述: 最近使用 Easyui datagrid 展示数据,之前一直使用很正常,今天出现了一个怪异问题 加载数据后,只要点击选中列 ck 的任意行或多行,再刷新时整个datagrid的所有数据都 ...
- Android ImageButton单击切换按钮图片效果
正常状态的效果: 按钮按下的效果图片: 一.在java中为图片按钮增加触摸监听的函数来实现图片切换,代码如下: ImageButton btn = (ImageButton)findViewById( ...
- Android Button事件处理
一般只需要处理按钮的点击事件就可以,但想让一个按钮处理多个事件,就得同时监听多个方法. OnClickListener 点击事件 OnLongClickListener 长按事件 OnTouchLi ...
- vue2.0路由写法、传参和嵌套
前置知识请戳这里 vue-routerCDN地址:https://unpkg.com/vue-router@3.0.1/dist/vue-router.js vue-router下载地址:https: ...
- Redux学习笔记--异步Action和Middleware
异步Action 之前介绍的都是同步操作,Redux通过分发action处理state,所有的数据流都是同步的,如果需要一步的话怎么办? 最简单的方式就是使用同步的方式来异步,将原来同步时一个acti ...
- SQL Server ->> 关于SQL Server Agent Job执行步骤时的用户上下文(User Context)问题
这是最近项目相关和自己感兴趣的一个问题:SQL Server Agent Job有几种方法可以以特定用户上下文去执行任务步骤的? 这个事情需要分几种情况来说,因为对于不同类型的任务步骤,SQL Ser ...
- 【Leetcode】【Easy】Same Tree
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...