显示用户在django上传的图片

时间:2011-05-05 08:28:02

标签: django django-templates django-media

我有一个页面,允许用户上传图像,该图像由models.py文件存储在{{MEDIA_ROOT}} / image / image1.jpg中 我想通过另一个网页上的html图像标记显示此图像

我的html代码段为<img border="2" src="{{ MEDIA_URL }}/images/{{ghar.image}}" alt="venture picture here"/>

这里ghar是具有图像细节的对象

任何人都可以帮我做同样的事情

我使用Django作为框架,使用sqlite3作为DB

更新

这是我的models.py函数

from django.db import models

class GharData(models.Model):
    place = models.CharField(max_length=40)
    typeOfProperty = models.CharField(max_length=30)
    typeOfPlace = models.CharField(max_length=20)
    price = models.IntegerField()
    ownerName = models.CharField(max_length=80)
    ownerEmail = models.EmailField(blank=True, null=True)
    address = models.CharField(max_length=200)
    nameOfVenture = models.CharField(max_length=100)
    city = models.CharField(max_length=60)
    size = models.CharField(max_length=60)
    designedBy = models.CharField(max_length=50,blank=True,null=True)
    description = models.CharField(max_length=500,blank=True,null=True)
    ownerPhone = models.CharField(max_length=20)


    def __unicode__(self):
        return self.ownerName


class ImageData(models.Model):
    property = models.ForeignKey(GharData, related_name='images')
    image = models.ImageField(upload_to='image/',blank=True,null=True)
    video = models.FileField(upload_to='video/',blank=True,null=True)

    def __unicode__(self):
        return self.property.ownerName

这是urls.py

from django.conf.urls.defaults import patterns, include, url
import settings

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()



urlpatterns = patterns('',
    url(r'^$', 'gharnivas.views.index'),
        url(r'^search/$', 'gharnivas.views.search'),
    url(r'^venture/(?P<ghar_id>\d+)/$', 'gharnivas.views.venture'),
    url(r'^media/(?P<path>.*)$','django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),

   url(r'^admin/', include(admin.site.urls)),
)

提前多多感谢

2 个答案:

答案 0 :(得分:0)

<img src="{{ [MODEL_OBJECT].[IMAGE_FIELD].url }}" />

在你的情况下:

<img border="2" src="{{ghar.image.url}}" alt="venture picture here" />

答案 1 :(得分:0)

您可以创建一个单独的对象,该对象可以访问具有GharData类ID的ImageData类。

def Show_something(request, ghar_id):
    g = get_object_or_404(GharData, pk=ghar_id)
    i = g.images.all()
    return render_to_response('YOUR_APP/iventure.html', {'ghar': g, 'imagedata' :i }, context_instance=RequestContext(request))

<img  border="2" src="{{ MEDIA_URL }}{{ imagedata.image }}" alt="venture picture here"/>