如何在模板中使用用户上传的文件?(django的)

Ton*_*dis 4 python django file-upload django-templates media-url

到目前为止,我已经进入了用户上传图像的部分,但是如何使用位于我的媒体文件夹中的图像?这是我尝试过的:

我的看法:

#I even tried to import MEDIA_ROOT to use it in my template...
#from settings import MEDIA_ROOT

def home(request):
    latest_images = Image.objects.all().order_by('-pub_date')
    return render_to_response('home.html',
                             #{'latest_images':latest_images, 'media_root':MEDIA_ROOT},
                             {'latest_images':latest_images,},
                             context_instance=RequestContext(request)
                             )
Run Code Online (Sandbox Code Playgroud)

我的模特:

class Image(models.Model):
    image = models.ImageField(upload_to='imgupload')
    title = models.CharField(max_length=250)
    owner = models.ForeignKey(User)
    pub_date = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)

我的模板:

{% for image in latest_images %}
    <img src="{{ MEDIA_ROOT }}{{ image.image }}" width="100px" height="100px" />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

和我的settings.py MEDIA_ROOT和URL:

MEDIA_ROOT = '/home/tony/Documents/photocomp/photocomp/apps/uploading/media/'
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)

所以这就是我想要做的:在我的模板中使用这些图像!

Chr*_*att 5

如果使用该url属性,MEDIA_URL则会自动附加.name如果您想要没有路径,请使用MEDIA_URL.所以你需要做的就是:

<img src="{{ some_object.image_field.url }}">
Run Code Online (Sandbox Code Playgroud)