django可疑操作图像上传 [英] django suspicious operation on image upload

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

问题描述

 可疑的操作在/ admin / the_chooser / book / add / 
尝试访问/media/51VqHa8exoL.jpg被拒绝。
请求方法:POST
请求URL:http:// localhost / admin / the_chooser / book / add /
Django版本:1.5.2
异常类型:SuspiciousOperation
异常值:
尝试访问/media/51VqHa8exoL.jpg被拒绝。
异常位置:路径中的/Users/username/.virtualenvs/django_books/lib/python2.7/site-packages/django/core/files/storage.py
Python可执行文件:/ usr / bin / python
Python版本:2.7.2
Python路径:
['/Library/Python/2.7/site-packages/pip-1.3.1-py2.7.egg' ,
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/ python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/ System / Library / Frameworks / Python。框架/版本/ 2.7 / lib / python2.7 / plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages ',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib /python2.7/lib-tk',
'/System/Library/Frameworks/Python.framewo rk /版本/ 2.7 / lib / python2.7 / lib-old',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
'/Library/Python/2.7/site-packages',
'/ Library / Python / 2.7 / site-packages / setuptools-0.6c11-py2.7.egg-info',
'/ Users / username / Projects / django_books /',
'/ Users / username / .virtualenvs / django_books / lib / python2.7 / site-packages']

我刚刚安装了Python成像库到我的virtualenv。这是我的models.py文件:

 从django.db导入模型

LITERARY_TYPE =(
('F','Fiction'),
('N','Non-ficiton'),


class Book(models.Model)
name = models.CharField(max_length = 200)
author = models.CharField(max_length = 200,blank = True,null = True)
slug = models.SlugField(unique = True)
literary_type = models.CharField(max_length = 1,choices = LITERARY_TYPE)
description = models.TextField(blank = True)
added = models.DateField(blank = True,null = auto_now_add = True)
cover = models.ImageField(blank = True,null = True,upload_to ='/ media /')

def __unicode __(self):
return self .name

这是我第一次使用Django中的文件字段。我的 upload_to 参数是否正确?还有其他问题吗?

解决方案

删除upload_to路径中的第一个斜杠,以便它显示为:
upload_to = 'media /'


In my admin I try to upload an image and after clicking save I get this error:

SuspiciousOperation at /admin/the_chooser/book/add/
Attempted access to '/media/51VqHa8exoL.jpg' denied.
Request Method: POST
Request URL:    http://localhost/admin/the_chooser/book/add/
Django Version: 1.5.2
Exception Type: SuspiciousOperation
Exception Value:    
Attempted access to '/media/51VqHa8exoL.jpg' denied.
Exception Location: /Users/username/.virtualenvs/django_books/lib/python2.7/site-packages/django/core/files/storage.py in path, line 259
Python Executable:  /usr/bin/python
Python Version: 2.7.2
Python Path:    
['/Library/Python/2.7/site-packages/pip-1.3.1-py2.7.egg',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
 '/Library/Python/2.7/site-packages',
 '/Library/Python/2.7/site-packages/setuptools-0.6c11-py2.7.egg-info',
 '/Users/username/Projects/django_books/',
 '/Users/username/.virtualenvs/django_books/lib/python2.7/site-packages']

I just installed the Python Imaging Library to my virtualenv. This is my models.py file:

from django.db import models

LITERARY_TYPE = (
    ('F', 'Fiction'),
    ('N', 'Non-ficiton'),
)

class Book(models.Model):
    name        = models.CharField(max_length=200)
    author      = models.CharField(max_length=200,blank=True,null=True)
    slug        = models.SlugField(unique=True)
    literary_type   = models.CharField(max_length=1, choices=LITERARY_TYPE)
    description = models.TextField(blank=True)
    added       = models.DateField(blank=True,null=True,auto_now_add=True)
    cover       = models.ImageField(blank=True,null=True,upload_to='/media/')

    def __unicode__(self):
        return self.name

This is my first time working with file fields in Django. Is my upload_to parameter correct? Is something else the issue?

解决方案

Remove the first slash in your upload_to path so that it reads: upload_to='media/'

这篇关于django可疑操作图像上传的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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