zoukankan      html  css  js  c++  java
  • 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 小结

    小结
    小结

  • 相关阅读:
    poj1511
    poj2996
    poj1062
    poj3259
    poj2993
    手动上传SNAPSHOT文件到Maven私服Nexus的方法
    安全可靠国产系统下的应用怎么搭建?
    手动上传SNAPSHOT文件到Maven私服Nexus的方法
    Maven 初学+http://mvnrepository.com/
    IDEA中Maven依赖下载失败解决方案
  • 原文地址:https://www.cnblogs.com/my-ordinary/p/13660026.html
Copyright © 2011-2022 走看看