数据库创建用户和权限
针对每一个人,提供的数据库权限不同,我们需要在数据库创建用户,并给用户赋予对应的权限
1.管理员连接数据库
>: mysql -uroot -proot
2.创建数据库
>: create database luffy default charset=utf8;
3.查看用户
>: select user,host,from mysql.user;
4.用root用户再创建一个用户只可以使用 luffy 库
grant all privileges on luffy.* to 'luffy'@'%' identified by 'Luffy123?';
# 创建一个用户,对于 luffy库中的所有表有所有权限, 账号是 luffy 密码是 Luffy123?
# 链接方式是 @'%' 远程连接,支持所有ip 地址
>: grant all privileges on luffy.* to 'luffy'@'localhost' identified by 'luffy123?';
on luffy.* = on 库名.表名 *代表所有表
# 创建一个用户,对于 luffy库中的所有表有所有权限, 账号是 luffy 密码是 Luffy123?
# 链接方式是 'localhost' 本地连接,
3.刷新一下 立即生效
>: flush privileges;
只能操作luffy数据库的账户
账号:luffy
密码:Luffy123?
"""
项目链接数据库
需要下载mysqlclient模块
mac环境变量添加 数据
open ~/.bash_profile打开
export SQL_NAME='luffy'
添加然后保存source ~/.bash_profile
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'lufei',
'USER': 'luffy',
# 'USER': mysql_name,
'PASSWORD': 'luffy123?',
'HOST': '127.0.0.1',
'PORT': 3306,
}
}
import os
mysql_name = os.environ.get('SQL_NAME')
mac环境变量添加 数据
# 取出环境变量内的数据
# 可以把用户名 密码 包括 主机ip 都放入环境变量中 这样保证相对安全
User模块用户表 基于auth
必要模块 pathlib 模块 mysqlclient模块 ,可以在pycharm中直接下载
from django.db import models
# Create your models here.
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
phone = models.CharField(max_length=32, unique=True)
icon = models.ImageField(upload_to='icon', default='icon/default.png')
# 使用了ImageField字段 必须下载 pathlib 这个文件
# 用户上传的头像 都会存入 icon文件夹里面
class Meta:
db_table = 'luffy_user'
verbose_name = '用户表'
verbose_name_plural = verbose_name
def __str__(self):
return self.username
开启media访问
1.配置文件中设置 dev.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
2.总路由中开启
from django.views.static import serve
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
path('text/', views.Text1.as_view()),
path('media/<path:path>', serve,{'document_root':settings.MEDIA_ROOT}),
] # path路径标签,可接受带/的路径
然后使用对应的路径就可以访问到了
http://127.0.0.1:8002/media/icon/default.png
标签:name,media,数据库,mysql,用户,路飞,User,luffy
From: https://www.cnblogs.com/moongodnnn/p/17162170.html