django ImageField用法

settings里的设置

PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname('__file__')))

MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')

MEDIA_URL = '/media/'

models里的设置

cateimg = models.ImageField(upload_to='img/%Y/%m/%d')

forms里的设置

cateimg = forms.ImageField(label='图片', help_text='不能超过5M!')

views里

 form = TopicNewForm(request.POST, request.FILES)
        if form.is_valid():
            try:
                old_name = request.FILES['cateimg'].name
                user_id = 12345678901
                topics = pgccategory.objects.all().order_by('-id')
                if len(topics) > 0:
                    topic_id_max = topics[0].id
                else:
                    topic_id_max = 0
                request.FILES['cateimg'].name = 'id_'+str(topic_id_max+1)+'_userid_'+str(user_id)+'_'+old_name
                new = pgccategory(catename=request.POST['catename'],
                                  cateimg=request.FILES['cateimg'],
                                  cateinfo=request.POST['cateinfo'],
                                  createuser=request.user)
                new.save()

或者

model = User

urls里的设置

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

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

在html里面的调用

<img src="/media/{{ ret.img }}">

 

 

转载于:https://www.cnblogs.com/tuifeideyouran/p/3831967.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值