要显示图像 [英] Want to display an image

查看:110
本文介绍了要显示图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个小问题。我想要一个django应用程序,可以上传和显示图像。目前,它可以上传图像,但我不能显示该图像。



例如,{{comment.photo}}将打印出 C:/ Users / AQUIL / Desktop / myproject / images / P1000992.JPG 。但我想在屏幕上看到这个图像。不是路径。如何将图像打印到屏幕上?



以下是一些可能有帮助的信息。



strong> models.py

  class Comment(models.Model):
name = models.CharField (max_length = 40)
datetime = models.DateTimeField(default = datetime.now)
photo = models.ImageField(upload_to ='C:/ Users / AQUIL / Desktop / myproject / media / images' blank = True,null = True)
note = models.TextField()
def __unicode __(self):
return unicode(self.name)

views.py

  def home(request):
comments = None
try:
comments = Comment.objects.order_by(' - datetime')
except:
return HttpResponseNotFound()
return render_to_response('home.html',{'comment':comments},context_instance = RequestContext(request))


def add_notes b $ b comments = Comment.objects.all()
if request.method =='POST':
form = CommentForm(request.POST或None,request.FILES)
.is_valid():
comments.datetime = datetime.now()
form.save(True)
return HttpResponseRedirect(reverse(home))
else:
form = CommentForm()
return render_to_response('form.html',{'form':form,'comments':comments},context_instance = RequestContext(request))



home.html

  {%extendsbase.html%} 

{%block content%}

< H2>注释列表< / H2>
< div style =overflow:auto; padding:10px; border:1px solid black; height:150px; width:700px;>

{%用于评论中的评论%}
{{comment.photo}}< br />
< b>发布者:{{comment.name}}日期:{{comment.datetime.date}}时间:{{comment.datetime.time}}< / b>< br / ;
< div style =font-size:125%> {{comment.note}}< / div>< br /
{%endfor%}
< / div>
{%endblock%}

form.html p>

  {%extendsbase.html%} 
{%block content%}

< h3>添加备注< / h3>
< form enctype =multipart / form-dataaction =method =POST>

{%csrf_token%}
< table>
{{form.as_table}}
< br />
< / table>

< input type =submitvalue =SaveSTYLE =background-color:#E8E8E8; color:#181818/>
< / form>


{%endblock%}


解决方案

  {%if comment.photo%}< img src ={{comment.photo.url}}alt =Photo/& {%endif%} 

请参阅Geoffrey的评论,了解如何正确上传图片。


I am having a slight problem. I want a django app that can upload and display an image. Currently, it can upload the image but I cannnot display that image.

So for example, {{comment.photo}} will print out the path C:/Users/AQUIL/Desktop/myproject/images/P1000992.JPG. But I want to see that image on the screen. Not the path. How do I print out the image to the screen?

Here is some information that may help.

models.py

class Comment(models.Model):
    name = models.CharField(max_length = 40)
    datetime = models.DateTimeField(default=datetime.now)
    photo = models.ImageField(upload_to='C:/Users/AQUIL/Desktop/myproject/media/images', blank=True, null=True)
    note = models.TextField()
    def __unicode__(self):
        return unicode(self.name)

views.py

def home(request):
    comments = None
    try:
        comments = Comment.objects.order_by('-datetime')
    except:
        return HttpResponseNotFound()
    return render_to_response('home.html', {'comments':comments}, context_instance=RequestContext(request)) 


def add_notes(request):
    comments = Comment.objects.all()
    if request.method == 'POST':
        form = CommentForm(request.POST or None, request.FILES)
        if form.is_valid():
            comments.datetime = datetime.now()
            form.save(True)
            return HttpResponseRedirect(reverse(home))
    else:
        form = CommentForm()
    return render_to_response('form.html', {'form':form,'comments':comments}, context_instance = RequestContext(request))

home.html

    {% extends "base.html" %}

    {% block content %}

    <H2>List of Comments</H2>
    <div style="overflow:auto;padding: 10px; border:1px solid black; height:150px; width:700px;">

        {% for comment in comments %}
            {{comment.photo}} <br/>
            <b>Posted by: {{ comment.name }} Date: {{ comment.datetime.date }} Time: {{comment.datetime.time}}</b><br/>
            <div style="font-size:125%">{{ comment.note }}</div><br/>   
        {% endfor %}
        </div>
    {% endblock %}

form.html

{% extends "base.html" %}    
{% block content %}

<h3>Add Notes</h3>  
    <form enctype="multipart/form-data" action=""  method="POST">

{% csrf_token %}
        <table>
        {{form.as_table}}
<br/>
        </table>

    <input type="submit" value="Save" STYLE="background-color:#E8E8E8; color:#181818 "/>
    </form>


{% endblock %}

解决方案

{% if comment.photo %} <img src="{{ comment.photo.url }}" alt="Photo" /> {% endif %}

See Geoffrey's comment for how to upload the image correctly.

这篇关于要显示图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆