django上传媒体文件至media的配置部署

django上传媒体文件至media的配置部署

在Django应用的文件夹下,经常会发现这两个文件夹:static, media; static称为静态文件夹,用于存放CSS, JavaScript, 网站logo等不变的文件;相对的,把media称为媒体文件夹,用于存放用户上传的图片。

第一步,在settings.py中配置media文件

# 配置头像上传路径
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

第二步在项目文件的urls.py中配置media路由

from django.conf.urls import url
from django.views.static import serve
from . import settings

urlpatterns = [
    # ... the rest of your URLconf goes here ...
    url(r'^media/(?P.*)$', serve, {'document_root': settings.MEDIA_ROOT})
]

在app的models.py中定义上传图片


class User(models.Model):
    username = models.CharField(max_length=32, unique=True)  
    password = models.CharField(max_length=256)   
    email = models.CharField(max_length=64, unique=True)  
    sex = models.BooleanField(default=False)  
    icon = models.ImageField(upload_to='icons')  # 头像上传到media/icons目录中
    is_delete = models.BooleanField(default=False)  

    class Meta:
        db_table = 'user'

你可能感兴趣的:(django上传媒体文件至media的配置部署)