Django 使用admin后台上传图片

该方式上传图片,是在localhost:8000/admin/浏览器中登录账号密码之后,在admin后台上传图片
步骤:
通过admin后台系统实现图片的上传;
a>Model中的图片字段必须写成models.ImageField(),因为在admin管理页面中,是会将这个ImageField()字段渲染成一个选择文件的input标签;
b>图片上传的路径不需要手动创建文件夹了,只需要设置upload_to,所有的目录都会自动创建;

首先,在项目根目录下创建一个文件夹static,并在其下面创建一个文件夹images
在settings.py文件下,进行注册

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

# 只要是上传图片,一定要设置MEDIA_ROOT这个键,这个键的名字不能修改。
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images')

在models.py文件中,创建一个Model

from django.db import models

# Create your models here.


class PModel(models.Model):
    pic_url = models.ImageField(upload_to='upload/%Y/%m')

    def __str__(self):
        return self.pic_url.name

    class Meta:
        db_table = 'pic'

在admin.py中进行注册

from django.contrib import admin
from .models import PModel
# # 只要使用admin后台系统,所有的Model必须在这里进行注册,否则,admin后台是不会显示相关Model的。
admin.site.![在这里插入图片描述](https://img-blog.csdnimg.cn/20181031214708531.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nbWVuZ3Jhbg==,size_16,color_FFFFFF,t_70)register(PModel)

代码写完之后,首先同步到数据库。
再使用python manage.py creatsuperuser 创建一个用户
在浏览器中输入localhost:8000/admin/,进行账号密码登录。在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zhangmengran/article/details/83591380