Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do you fix the following Django Error: "Type: IOError" "Value: [Errno 13] Permission denied"
    primarykey
    data
    text
    <p>I am following a Django Tutorial where you are required to construct some image thumbnails once an image is saved in admin. I am also using Python's tempfile module to save a temporary file name.</p> <p>However I keep running into the following error:</p> <pre><code>"Type: IOError" "Value: [Errno 13] Permission denied: 'c:\\docume~1\\myname\\locals~1\\temp\\somefilename'" </code></pre> <p>Here is the code I am using</p> <p>Settings</p> <pre><code>MEDIA_ROOT = '/home/myname/projectname/media/' MEDIA_URL = 'http://127.0.0.1:8000/media/'enter code here </code></pre> <p>models.py</p> <pre><code>from string import join import os from PIL import Image as PImage from settings import MEDIA_ROOT from os.path import join as pjoin from tempfile import * from string import join from django.db import models from django.contrib.auth.models import User from django.contrib import admin from django.core.files import File class Image(models.Model): title = models.CharField(max_length=60, blank=True, null=True) image = models.FileField(upload_to="images/") thumbnail = models.ImageField(upload_to="images/", blank=True, null=True) tags = models.ManyToManyField(Tag, blank=True) albums = models.ManyToManyField(Album, blank=True) created = models.DateTimeField(auto_now_add=True) rating = models.IntegerField(default=50) width = models.IntegerField(blank=True, null=True) height = models.IntegerField(blank=True, null=True) user = models.ForeignKey(User, null=True, blank=True) thumbnail2 = models.ImageField(upload_to="images/", blank=True, null=True) def save(self, *args, **kwargs): #Save image dimensions super(Image, self).save(*args, **kwargs) im = PImage.open(pjoin(MEDIA_ROOT, self.image.name)) self.width, self.height = im.size # large thumbnail fn, ext = os.path.splitext(self.image.name) im.thumbnail((128,128), PImage.ANTIALIAS) thumb_fn = fn + "-thumb2" + ext tf2 = NamedTemporaryFile() im.save(tf2.name, "JPEG") self.thumbnail2.save(thumb_fn, File(open(tf2.name)), save=False) tf2.close() # small thumbnail im.thumbnail((40,40), PImage.ANTIALIAS) thumb_fn = fn + "-thumb" + ext tf = NamedTemporaryFile() im.save(tf.name, "JPEG") self.thumbnail.save(thumb_fn, File(open(tf.name)), save=False) tf.close() super(Image, self).save(*args, **kwargs) def size(self): """Image size.""" return "%s x %s" % (self.width, self.height) def __unicode__(self): return self.image.name def tags_(self): lst = [x[1] for x in self.tags.values_list()] return str(join(lst, ', ')) def albums_(self): lst = [x[1] for x in self.albums.values_list()] return str(join(lst, ', ')) def thumbnail_(self): return """&lt;a href="/media/%s"&gt;&lt;img border="0" alt="" src="/media/%s" /&gt;&lt;/a&gt;""" % ( (self.image.name, self.thumbnail.name)) thumbnail.allow_tags = Trueenter code here </code></pre> <h1>ADMIN</h1> <pre><code>class ImageAdmin(admin.ModelAdmin): # search_fields = ["title"] list_display = ["__unicode__", "title", "user", "rating", "size", "tags_","albums_", "thumbnail", "created"] list_filter = ["tags", "albums", "user"] def save_model(self, request, obj, form, change): obj.user = request.user obj.save() </code></pre> <p>I know there are much more effective ways of using image thumbnails in Django however I would like to know why I keep getting this Permission error when thumbnails are used in this manner.</p> <p>All help is greatly appreciated. Thanks. </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload