美文网首页
Docker-使用mysql+django实现数据管理

Docker-使用mysql+django实现数据管理

作者: 非鱼2018 | 来源:发表于2020-10-13 21:46 被阅读0次

    本地:python3.8+django
    docker:mysql

    启动mysql容器

    docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

    进入容器

    docker exec -it mysql bash

    mysql -u root -p

    show databases;

    user mysql;

    select from user;

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456' ;

    使用navaciat连接时

    *注意mysql的ip为docker-machine ls的ip 192.168.99.100,而不是机器本身的ip

    django使用mysql数据库

    先安装pip install pymsql

    import pymysql
    pymysql.install_as_MySQLdb()

    照着教程在init里加了这个,报错,require1.4.0,看了下,pymysql最高也才1.0

    python38 -m pip install pymysql==1.4.0

    百度了下,直接安装mysqlclient

    python38 -m pip install -U mysqlclient 就可以了 ,把上面两行注释掉

    命令行执行:
    django-admin.py startproject HelloWorld #创建jdango工程

    进入helloworld创建app

    django-admin.py startapp TestModel

    moduls.py

    from django.db import models
    
    class BookData(models.Model):
    
        name = models.CharField(max_length=20)
    
        id= models.IntegerField(primary_key=True)
    

    admin.py

    from django.contrib import admin
    
    from TestModel.models import BookData
    
    # Register your models here.
    
    admin.site.register(BookData)
    

    urls.py

    from django.urls import path
    
    urlpatterns = [
    
    path('admin/', admin.site.urls),
    
    ]
    

    setting文件:

    DATABASES = {
    
    'default':
    
    {
    
    'ENGINE': 'django.db.backends.mysql', # 数据库引擎
    
    'NAME': 'pipline', # 数据库名称
    
    'HOST': '192.168.99.100', # 数据库地址,
    
    'PORT': 3306, # 端口
    
    'USER': 'root', # 数据库用户名
    
    'PASSWORD': '123456', # 数据库密码
    
    }
    
    }
    

    命令行执行

    python38 manage.py runserver #启动服务

    python38 manage.py migrate

    python38 manage.py makemigrations

    创建超级用户

    python38 manage.py createsuperuser,创建用户后,即可登录

    登录后,就可以使用admin管理某个数据类型

    [图片上传失败...(image-30bf01-1601483460379)]

    image.png

    页面插入数据后,可以进入mysql后查看,数据表已有数据

    [图片上传失败...(image-23d65d-1601483460379)]

    image.png

    注:退出容器后,记得docker commit

    docker commit id mysql:v2

    或者直接启动上次执行过的容器,docker ps -a 查看

    然后docker start id

    相关文章

      网友评论

          本文标题:Docker-使用mysql+django实现数据管理

          本文链接:https://www.haomeiwen.com/subject/byfmuktx.html