我有一个问题,本地版本的 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" 在 view_settings 51. 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+')