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

 

 


免責聲明!

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



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