2013-07-24 6 views
14

मैं सिर्फ Django उपयोग करने के लिए शुरू करते हैं और मैं कैसे एक imageField प्रदर्शित करने के लिए पर जानकारी का एक बहुत कुछ नहीं मिला है, तो मैं इस बनाया:Django - प्रदर्शन ImageField

models.py

class Car(models.Model): 
    name = models.CharField(max_length=255) 
    price = models.DecimalField(max_digits=5, decimal_places=2) 
    photo = models.ImageField(upload_to='site_media') 

बार देखा गया .py

def image(request): 
    carx = Car() 
    variables = RequestContext(request,{ 
     'carx':carx 
    }) 
    return render_to_response('image.html',variables) 

image.html

{% extends "base.html" %} 
{% block content %} 
    <img src=carx /> 
{% endblock %} 

मैं पहले से ही टर्मिनल के बाद से एक छवि बचाने के लिए और मैं वहाँ पता है, भी अगर एक image.html में ऐसा करते हैं:

{% block content %} 
    {{ carx }} 
{% endblock %} 

ouput है: कार वस्तु

किसी को भी मुझे बता सकते हैं जहाँ मेरे त्रुटि है?

बहुत बहुत धन्यवाद।

उत्तर

23

एक ImageField में url विशेषता है, जिसे आप उचित HTML प्रस्तुत करने के लिए अपने टेम्पलेट्स में उपयोग कर सकते हैं।

{% block content %} 
    <img src="{{ carx.photo.url }}"> 
{% endblock %} 
+1

:

निम्न कोड का प्रयोग करें। –

+0

मैं settings.py STATIC_URL में इस राशि = '/ उपयोगकर्ताओं/gcarranza/PycharmProjects/django_bookmarks/site_media /' STATICFILES_DIRS = ( '/ उपयोगकर्ताओं/gcarranza/PycharmProjects/django_bookmarks/site_media', ) – unixeO

+0

यह और भी है एक वास्तविक वेब सर्वर कॉन्फ़िगर करने का एक प्रश्न - https://docs.djangoproject.com/en/dev/howto/static-files/#serving-files-uploaded-by-a-user दिखाता है कि आप Django से उनकी सेवा कैसे कर सकते हैं विकास में, लेकिन यह उत्पादन वातावरण में एक अच्छा विचार नहीं है। –

-1

सभी के लिए धन्यवाद, मैं इसे इस तरह से ठीक करता हूं।

views.py

def image(request): 
carx = Car.objects.all() 
for mycar in carx: 
    MyCar = mycar.photo.url 
variables = RequestContext(request,{ 
    'carx':MyCar 
}) 
return render_to_response('image.html',variables) 

image.html

{% extends "base.html" %} 

{% block content %} 
    <img src="{{ MEDIA_URL }}{{ carx }}"/> 
{% endblock %} 

settings.py

MEDIA_URL = '/Users/gcarranza/PycharmProjects/django_bookmarks/' 
STATIC_URL = '/Users/gcarranza/PycharmProjects/django_bookmarks/site_media/' 
STATICFILES_DIRS = (
'/Users/gcarranza/PycharmProjects/django_bookmarks/site_media',) 

अब मुझे पता है कि carx.photo.url फ़ाइल का निरपेक्ष पथ को पुनः प्राप्त और स्थिर फ़ाइल के रूप में लोड करने का एकमात्र मामला।

2

आप सेटिंग.py में स्टेटिक यूआरएल का भी उपयोग कर सकते हैं। अपने ऐप की स्टेटिक निर्देशिका में उदाहरण के लिए "अपलोड" निर्देशिका बनाएं। इसे अपने मॉडल में models.py में भी बदलें। वहां सर्वर वैसे भी, `site_media` से सामग्री के लिए संरूपित है मान लिया जाये कि

<img src="{% static carx.photo.url %}" /> 
संबंधित मुद्दे