首页 > 解决方案 > Django MEDIA_URL,无法获取图像

问题描述

每当我尝试运行下面的代码时,我都会收到错误消息:

the system cannot find the path specified: 'app_pickfeel/images/'

我正在尝试从以下目录中获取随机图像:

'PickFeel/app_pickfeel/static/app_pickfeel/images'

使用自定义模板标签 (random_image.py)

随机图像.py

import os
import random
from django import template
from django.conf import settings
# module-level variable
register = template.Library()
@register.simple_tag
def random_image(image_dir):
    try:
        valid_extensions = settings.RANDOM_IMAGE_EXTENSIONS
    except AttributeError:
        valid_extensions = ['.jpg', '.jpeg', '.png', '.gif', ]
    if image_dir:
        rel_dir = image_dir
    else:
        rel_dir = settings.RANDOM_IMAGE_DIR
    rand_dir = os.path.join(settings.MEDIA_ROOT, rel_dir)
    files = [f for f in os.listdir(rand_dir) if os.path.splitext(f)[1] in valid_extensions]
    return os.path.join(rel_dir, random.choice(files))

html模板:

<img src="{{ MEDIA_URL }}{% random_image "app_pickfeel/images/" %}">

设置.py

MEDIA_ROOT = ''
MEDIA_URL = '/images/'
STATIC_URL = '/static/'

任何帮助将不胜感激。

标签: pythondjangoimage

解决方案


推荐阅读