Django上载的图像未在开发中显示

Django上载的图像未在开发中显示,django,django-models,Django,Django Models,我定义了一个带有“pic”图像字段的模型: class Photo(models.Model): title = models.CharField(max_length=100) body = models.TextField() teaser = models.TextField('teaser', blank=True) pic = models.ImageField(upload_to = 'pic_folder/', default = 'pic_fold

我定义了一个带有“pic”图像字段的模型:

class Photo(models.Model):
    title = models.CharField(max_length=100)
    body = models.TextField()
    teaser = models.TextField('teaser', blank=True)
    pic = models.ImageField(upload_to = 'pic_folder/', default = 'pic_folder/None/default.jpg')
    created=models.DateTimeField(default=datetime.datetime.now)
    pub_date=models.DateTimeField(default=datetime.datetime.now)
    categories = models.ManyToManyField(Category, blank=True)
    likes = models.IntegerField(default=0)
    dislikes = models.IntegerField(default=0)
    visits = models.IntegerField(default=0)
    slug = models.CharField(max_length=100,  unique=True, blank=True)
这是上传表格:

class PhotoForm(forms.ModelForm):       

    class Meta:
            model= Photo
            fields = ( 'title', 'pic','body', 'categories') 
此视图的Wich post:

@staff_member_required
def add_photo(request):
    if request.method == 'POST':
        form = PhotoForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            messages.info(request, "photo was added") 
            return render(request, 'home.html')
        else:
            messages.info(request, 'form not valid')
            return render(request, 'home.html')

    if request.method == 'GET':
        form = PhotoForm()
        args = {}
        args.update(csrf(request))
        args['form'] = form
        return render(request, 'photo/add_photo.html', args)  
问题是,在保存照片对象和上载文件时,图像不会显示

  <div class="photo_body"><img src="pic_folder/someimage.jpg" ></div>
并运行manage.py collectstatic,但它们没有解决问题


我真的很困惑。所以感谢你的提示

首先,在项目目录中创建一个名为media的文件夹

Django会自动将您上传的所有图像存储在media/picu文件夹中

在settings.py文件中,添加以下内容:

MEDIA_URL = '/media/'

MEDIA_ROOT = '/path_to/media/' # write the path to the media folder you just created.
在URL.py文件中,在顶部添加以下行:

from django.conf import settings
from django.conf.urls.static import static
并在末尾添加以下行:

如下所示:

最后,在模板中:


首先,在项目目录中创建一个名为media的文件夹

Django会自动将您上传的所有图像存储在media/picu文件夹中

在settings.py文件中,添加以下内容:

MEDIA_URL = '/media/'

MEDIA_ROOT = '/path_to/media/' # write the path to the media folder you just created.
在URL.py文件中,在顶部添加以下行:

from django.conf import settings
from django.conf.urls.static import static
并在末尾添加以下行:

如下所示:

最后,在模板中:


使用此技巧解决的问题:使用此技巧解决的问题:
 urlpatterns = patterns('',

    # Your urls here 

) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
<img src="{{MEDIA_URL}}pic_folder/someimage.jpg" />