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添加

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)」

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

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

具体报错

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

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

若是迁移问题

旧文件删除 重新生成

在多应用的环境下 加需要迁移的某个应用名了

python manage.py makemigrations myblog(指定应用名)

python manage.py migrate myblog(指定应用名)

8 小结

小结