2011-05-05 5 views
1

J'ai une page qui permet à un utilisateur de télécharger une image et cette image est stockée par le fichier models.py dans le {{MEDIA_ROOT}}/image/image1.jpg i souhaitez afficher cette image par une balise HTML image sur une autre page Webmontre les images qui sont téléchargées par l'utilisateur dans django

Mon extrait de code html est <img border="2" src="{{ MEDIA_URL }}/images/{{ghar.image}}" alt="venture picture here"/>

ici Ghar est l'objet qui a les détails Abt l'image

quelqu'un peut-il me aider à faire le même

J'utilise Django comme cadre et sqlite3 que la DB

Mise à jour:

Ceci est ma fonction 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 

C'est le 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)), 
) 

Merci beaucoup à l'avance

Répondre

0

Vous pouvez cageot un objet distinct qui a l'accès à la classe ImageData avec l'id de la classe GharData.

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"/> 
0

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

Dans votre cas:

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

+0

@DrTyrsa: ça n'a pas marché ... Je ne comprends pas l'image –

+0

Utilisez-vous 'upload_to' dans votre modèle? Ou gérer le téléchargement en quelque sorte manuellement? Si second - 'src =" {{MEDIA_URL}}/{{ghar.image.name}} "' (ou 'src =" {{MEDIA_URL}}/images/{{ghar.image.name}} "') – DrTyrsa

+0

@DrTyrsa: J'ai mis à jour la question .. Pourriez-vous vérifier s'il vous plaît laissez-moi savoir au sujet de mon erreur? –

Questions connexes