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 }}">

 

 

posted on 2014-07-08 17:43  颓废的悠然  阅读(4430)  评论(1编辑  收藏  举报

导航