我有一个基于图像的应用程序。用户上传图像,如果由管理员批准,则在网页上显示。这些图像不可供未购买特定计划的用户使用。用户必须购买计划,然后才能下载这些图像。但是我们知道右键单击可以保存图像,因此在这些图像上添加水印会更安全。因此,我决定使用PIL添加水印。
我在这里找到了一个教程:http://www.pythoncentral.io/watermark-images-python-2x/。但是,我不确定如何在我的Django应用程序中实现它,因为我很新手Python和Django。上面的教程适用于单个图像。但是我有多个图像。那么如何一次性给所有图像添加水印?我在我的views.py中使用此定义来显示网页上的图像。
我在这里找到了一个教程:http://www.pythoncentral.io/watermark-images-python-2x/。但是,我不确定如何在我的Django应用程序中实现它,因为我很新手Python和Django。上面的教程适用于单个图像。但是我有多个图像。那么如何一次性给所有图像添加水印?我在我的views.py中使用此定义来显示网页上的图像。
def showimage(request,template = 'base.html',page_template = 'photo/showimage.html'):
photo_list = Photo.objects.all()
context = {}
context.update({
'photo_list': photo_list,
'page_template': page_template,
})
if request.is_ajax():
template = page_template
return render_to_response(template,context,context_instance=RequestContext(request))
这里是我的showimage.html页面,我在这里展示了我的图片...
{% extends 'base.html'%}
{%block title%}{%endblock%}
{%block content%}
{% load endless %}
<div class="container" >
<div class="row mt" style="padding-top:0px; margin-top:10px;">
<ul class="grid effect-2" id="grid">
{% paginate 40 photo_list %}
{% for photo in photo_list%}
{% if photo.approved%}
<li><a href = "{% url 'download_image' photo.id %}">
<img src={{photo.photo.url}} alt = 'sample photo' /></a>
</li>
{%endif%}
{% endfor %}
</ul>
</div><!-- row -->
</div><!-- container -->
<p>{%show_more%}</p>
{%endblock%}
不一定要使用上面提供的链接,您也可以使用自己的代码修改上面提供的视图。