django 配置mysql流程以及运行报错的解决

0 环境

  • 系统环境:window
  • 编辑器:IDEA
  • 开发语言:django3.1.1

1 配置数据库

DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        # 'NAME': 'mysitedb',
        'NAME': 'myblog',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'USER': 'root',
        'PASSWORD': '123',

    }
}
配置明细
配置明细

2 配置models

from django.db import models

# Create your models here.
class SiteInfo(models.Model):
    # 数据库默认为null 在填写表单的时候blank可以为空
    title = models.CharField(null=True,blank=True,max_length=50)
    logo = models.ImageField(upload_to="logo/",null=True,blank=True)

    def __str__(self):
        return self.title

3 在admin中注册model

from django.contrib import admin
from .models import SiteInfo

# @admin.register(SiteInfo)
# class SiteInfoAdmin(admin.ModelAdmin):
#     link_display = ('id', 'title', 'logo')

admin.site.register(SiteInfo)

3 数据迁移报错

pymysql报错'mysqlclient 1.3.13 or newer is required'

import pymysql
pymysql.version_info=(1, 4, 2, "final", 0)
pymysql.install_as_MySQLdb()
init.py添加
init.py添加

3 执行迁移

# 适用于单个应用
python manage.py makemigrations
python manage.py migrate
执行成功
执行成功
查看
查看
数据库查看
数据库查看

4 启动项目

python manage.py runserver

5 访问admin

提示创建账号
提示创建账号

进入项目根目录

python manage.py createsuperuser
创建账号
创建账号
再次登陆
再次登陆
修改密码 一些权限等
修改密码 一些权限等

6 进入myblog

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据库插入成功
数据库插入成功

7 注意项

注意:没有myblog名 大概率没有添加admin.site.register(某个model) 没有添加admin.site时

注意:有时会添加报错 没有遇到 直接略过 添加报错

1.根据报错定位,如图下 报错

具体报错
具体报错

2.按照mvt的流程排查 比如model写的是否对,我就错在__str__

3.检查是否迁移成功了 2 3不分先后(看情况)

  • 若是迁移问题

旧文件删除 重新生成

旧文件删除 重新生成用不到sqlite3 保险起见删了它

  • 在多应用的环境下 加需要迁移的某个应用名了
python manage.py makemigrations myblog(指定应用名)
python manage.py migrate myblog(指定应用名)

8 小结

小结
小结

原文地址:https://www.cnblogs.com/my-ordinary/p/13660026.html