import os
import random
from pathlib import Path

from django.conf import settings
from django.core.cache import cache


def nopic():
    cache_key = "nopic_image_list"
    img_list = cache.get(cache_key)

    if not img_list:
        ku_path = Path(settings.TEMPLATES_THEME_DIR) / "static/images/nopic"
        # 新增逻辑1：检查目录是否存在
        if not ku_path.exists():
            # 新增逻辑2：创建目录（包括父目录）
            os.makedirs(ku_path, exist_ok=True)
        img_list = [
            file.name for file in ku_path.glob("*.*")
            if file.suffix.lower() in (".jpg", ".jpeg", ".png", ".gif",
                                       ".webp", ".svg", ".bmp", ".apng")
        ]

        if not img_list:
            img_list = ["/static/images/default.jpg"]  # 添加默认图片处理

        # 缓存24小时（86400秒），可根据需要调整
        cache.set(cache_key, img_list, 86400)

    return f"/static/images/nopic/{random.choice(img_list)}"
