4

我有一个问题,本地版本的 Django 正在按预期处理图像上传,但我的服务器没有。注意:我在 MediaTemple.net(网格服务器)上使用 Django 容器

这是我的代码。

def view_settings(request):    
<snip>
if request.POST:
    success_msgs = ()
    mForm = MainProfileForm(request.POST, request.FILES, instance = mProfile)
    pForm = ChangePasswordForm(request.POST)
    eForm = ChangeEmailForm(request.POST)
    if mForm.is_valid():
        m = mForm.save(commit = False)
        if mForm.cleaned_data['avatar']:
            m.avatar = upload_photo(request.FILES['avatar'], settings.AVATAR_SAVE_LOCATION)
        m.save()
        success_msgs += ('profile pictured updated',)
            <snip>

def upload_photo(data,saveLocation):
    savePath = os.path.join(settings.MEDIA_ROOT, saveLocation, data.name) 
    destination = open(savePath, 'wb+')
    for chunk in data.chunks():
        destination.write(chunk)
    destination.close()
    return os.path.join(saveLocation, data.name)

这是它变得古怪的地方,我希望有人可以阐明这个错误,因为要么

  • 这是错误的错误代码,或者
  • 文件在完全处理之前发生了一些事情。

回顾一下,该文件实际上已上传到预期目录中的服务器 - 但是此错误消息继续存在。

/user/settings 处的 IOError

[Errno 2] 没有这样的文件或目录:u'/home/user66666/domains/example.com/html/media/images/avatars/DSC03852.JPG'

环境:

请求方法:POST 请求 URL: http: //111.111.111.111 :2011/user/settings Django 版本:1.0.2 最终 Python 版本:2.4.4 已安装的应用程序:['django.contrib.auth', 'django.contrib. contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'ctrlme', 'usertools', 'easy_thumbnails'] 已安装的中间件: ('django.middleware.common.CommonMiddleware', 'django.contrib. session.middleware.SessionMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware')

Traceback: 文件 "/home/user6666/containers/django/leonidas/usertools/views.py" 在 vi​​ew_settings 5​​1. m.avatar = upload_photo(request.FILES['avatar'], settings.AVATAR_SAVE_LOCATION) 文件 "/home/user666666 /containers/django/leonidas/usertools/functions.py”在upload_photo 91.destination = open(savePath, 'wb+')

4

0 回答 0