On Jan 5, 10:24 am, ppdo <[email protected]> wrote:
> Hi all,
>
> I am trying to port my first Django 1.0.2 application to run on OSX/
> Leopard with Apache + mod_python 3.3.1 + python 2.6.1 (all running in
> 64-bit mode) and I am experiencing an occasional error when uploading
> a file that was not present when testing with the Django development
> server.
>
> The code for the upload is similar to what described in the Django
> documentation:
>
> class UploadFileForm(forms.Form):
>     file  = forms.FileField()
>     description = forms.CharField(max_length=100)
>     notifygroup = forms.BooleanField(label='Notify Group?',
> required=False)
>
> def upload_file(request, date, meetingid ):
>     print date, meetingid
>     if request.method == 'POST':
>         print 'before reloading the form...'
>         form = UploadFileForm(request.POST, request.FILES)
>         print 'after reloading the form'
>         if form.is_valid():
>             try:
>                 handle_uploaded_file(request.FILES['file'],
> request.REQUEST['date'], request.REQUEST['description'],
> form.cleaned_data['notifygroup'], meetingid )
>             except:
>                 return render_to_response('uploaded.html',
> { 'message': 'Error! File not uploaded!' })
>             return HttpResponseRedirect('/myapp/uploaded/')
>     else:
>         form = UploadFileForm()
>     return render_to_response('upload.html', {'form': form,
> 'date':date, 'meetingid':meetingid})
>
> This code normally works correctly, but sometimes (say, once every 10
> uploads) and after a fairly long waiting time, it fails with the
> following error:
>
> IOError at /myapp/upload/2009-01-03/1
> Client read error (Timeout?)
> Request Method: POST
> Request URL:    http://192.168.0.164/myapp/upload/2009-01-03/1
> Exception Type: IOError
> Exception Value:
> Client read error (Timeout?)
> Exception Location:     /Library/Frameworks/Python64.framework/Versions/
> 2.6/lib/python2.6/site-packages/django/http/multipartparser.py in
> read, line 406
> Python Executable:      /usr/sbin/httpd
> Python Version: 2.6.1
> Python Path:    ['/djangoapps/myapp/', '/djangoapps/', '/Library/
> Frameworks/Python64.framework/Versions/2.6/lib/python26.zip', '/
> Library/Frameworks/Python64.framework/Versions/2.6/lib/python2.6', '/
> Library/Frameworks/Python64.framework/Versions/2.6/lib/python2.6/plat-
> darwin', '/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/plat-mac', '/Library/Frameworks/Python64.framework/Versions/
> 2.6/lib/python2.6/plat-mac/lib-scriptpackages', '/Library/Frameworks/
> Python64.framework/Versions/2.6/lib/python2.6/lib-tk', '/Library/
> Frameworks/Python64.framework/Versions/2.6/lib/python2.6/lib-old', '/
> Library/Frameworks/Python64.framework/Versions/2.6/lib/python2.6/lib-
> dynload', '/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages']
> Server time:    Sun, 4 Jan 2009 22:42:04 +0100
>
> Environment:
>
> Request Method: POST
> Request URL:http://192.168.0.164/myapp/upload/2009-01-03/1
> Django Version: 1.0.2 final
> Python Version: 2.6.1
> Installed Applications:
> ['django.contrib.auth',
>  'django.contrib.contenttypes',
>  'django.contrib.sessions',
>  'django.contrib.sites',
>  'django.contrib.admin',
>  'myapp.application1']
> Installed Middleware:
> ('django.middleware.common.CommonMiddleware',
>  'django.contrib.sessions.middleware.SessionMiddleware',
>  'django.contrib.auth.middleware.AuthenticationMiddleware')
>
> Traceback:
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/core/handlers/base.py" in get_response
>   86.                 response = callback(request, *callback_args,
> **callback_kwargs)
> File "/djangoapps/myapp/../myapp/application1/views.py" in upload_file
>   137.         form = UploadFileForm(request.POST, request.FILES)
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/core/handlers/modpython.py" in
> _get_post
>   113.             self._load_post_and_files()
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/core/handlers/modpython.py" in
> _load_post_and_files
>   87.                 self._post, self._files = self.parse_file_upload
> (self.META, self._req)
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/__init__.py" in parse_file_upload
>   124.         return parser.parse()
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/multipartparser.py" in parse
>   134.             for item_type, meta_data, field_stream in Parser
> (stream, self._boundary):
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/multipartparser.py" in __iter__
>   607.         for sub_stream in boundarystream:
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/multipartparser.py" in next
>   421.             return LazyStream(BoundaryIter(self._stream,
> self._boundary))
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/multipartparser.py" in __init__
>   447.         unused_char = self._stream.read(1)
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/multipartparser.py" in read
>   300.         out = ''.join(parts())
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/multipartparser.py" in parts
>   293.                 chunk = self.next()
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/multipartparser.py" in next
>   315.             output = self._producer.next()
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/multipartparser.py" in next
>   376.             data = self.flo.read(self.chunk_size)
> File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
> python2.6/site-packages/django/http/multipartparser.py" in read
>   406.         return self._file.read(num_bytes)
>
> Exception Type: IOError at /myapp/upload/2009-01-03/1
> Exception Value: Client read error (Timeout?)
>
> I tried to run everything usingmod_wsgiand no difference.
>
> Does anybody know what am I doing wrong?

What was the error message you were getting with mod_wsgi? Were you
using daemon mode or embedded mode of mod_wsgi?

Graham
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to