ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2020-09-13 08:32:43  阅读:230  来源: 互联网

标签:manage admin py django models 报错 mysql python


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 小结

小结
小结

标签:manage,admin,py,django,models,报错,mysql,python
来源: https://www.cnblogs.com/my-ordinary/p/13660026.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有