Django - Display ImageField

后端 未结 3 996
孤街浪徒
孤街浪徒 2020-12-01 20:48

i just start to use django and i haven\'t found a lot of info on how to display an imageField, so i made this:

models.py

class Car(models.Model):
           


        
相关标签:
3条回答
  • 2020-12-01 21:16

    You can also make use of the Static URL in Settings.py. Make a directory for example "Uploads", in the Static directory of your app. Also change this in your model in models.py.

    Use the following code:

    <img src="{% static carx.photo.url %}" />
    
    0 讨论(0)
  • 2020-12-01 21:18

    An ImageField contains a url attribute, which you can use in your templates to render the proper HTML.

    {% block content %}
        <img src="{{ carx.photo.url }}">
    {% endblock %}
    
    0 讨论(0)
  • 2020-12-01 21:34

    Thanks to all, i fix it in this way.

    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',)
    

    Now i know that carx.photo.url retrieve the absolute path of the file and its only matter to load as static file.

    0 讨论(0)
提交回复
热议问题