django中的media配置


media

  django框架中用戶上傳文件的存放位置

media在django中的配置

在項目根目錄下創建media文件夾

settings.py文件中配置MEDIA_ROOT,MEDIA_URL

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

urls.py文件中進行路由配置

from django.conf import settings
from django.conf.urls.static import static


urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

配置完成!

圖片上傳到指定的文件夾下,防止重名

我們可以在models.py中自己定義一個生成文件名的函數

def custom_upload_path(instance, filename):
    class_name = instance.__class__.__name__.lower()
    filename = filename.split('.')[0] + str(uuid.uuid4()) + "." + filename.split('.')[-1]
    date_str = "%s%s%s" % (datetime.now().year, datetime.now().month, datetime.now().day)
    return "{}/{}/{}".format(class_name + "s", date_str, filename)

在模型類中直接調用函數即可

img = models.ImageField(upload_to=custom_upload_path, null=True, blank=True, verbose_name='圖片')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM