路飞-数据库创建用户/User用户表/开启media访问

数据库创建用户和权限

针对每一个人,提供的数据库权限不同,我们需要在数据库创建用户,并给用户赋予对应的权限

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
posted @   Python-moon  阅读(130)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示