美文网首页
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