django2.0配置mysql_【Django笔记三】Django2.0配置mysql模型

一、环境版本信息:

操作系统:windows10

Django版本:2.0.5

Python版本:3.6.4

Mysql版本: 5.5.53

二、安装Mysqlclient:

1、为什么安装Mysqlclient:

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

2、使用命令:pip install mysqlclient

3dd28b9e4ed7387f1ddf24642dac582c.png

三、修改配置文件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 importmodels

# Create your models here.

classusers(models.Model):

blog_username = models.CharField(max_length=20)

blog_link = models.CharField(max_length=50)

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

python manage.py migrate #执行迁移

3ff769cfc1e1a062ff32a5b2253da1e4.png

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

961a6f2e357273e8946010ce7b766d5c.png

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

python manage.py makemigrations App #生成迁移

python manage.py migrate App #执行迁移

7370aeb92099e4450893d5b097bbacd5.png

5361b36e1573952eadab212cb0aba615.png

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

f1291925a5067acaa0767b314062f985.png

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

from django.shortcuts importrender

from App.models importusers

# Create your views here.

defindex(request):

user = users.objects.get(id=1) # 找到id==1的数据

context = {'user':user} return render(request, 'index.html', context)

{% load static %}

博客昵称:{{ user.blog_username }}

博客链接:{{ user.blog_link }}

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

4596ad99c0847bcb314784353ccc277e.png

八、注意事项

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

1、问题原因

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

2、解决方案

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

b90878518813018667c4e049520fd4ed.png

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

3d1c2ccc21a749e359f214fc834b9b17.png

第三部:再次执行命令

python manage.py makemigrations App #生成迁移

python manage.py migrate App #执行迁移

?mid=&wid=51824&sid=&tid=7009&rid=LOADED&custom1=i.cnblogs.com&t=1529673260560

?mid=&wid=51824&sid=&tid=7009&rid=BEFORE_OPTOUT_REQ&t=1529673260560

?mid=&wid=51824&sid=&tid=7009&rid=FINISHED&custom1=i.cnblogs.com&t=1529673260563

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值