I'm almost certainly missing something very, very simple here, but I haven't been able to find what it is on my own.
One view in my app should allow users to upload an OPML file, which the app will parse and use to import feeds, but which won't otherwise be stored. As with most other non-model-based forms, I'm using a custom validator for this form: class AddFromOPMLManipulator(formfields.Manipulator): def __init__(self): self.fields = ( formfields.FileUploadField(field_name="opml_file", is_required=True,), ) When the form is submitted, I get this traceback: Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/django-1.0.0-py2.3.egg/django/core/handlers/base.py", line 64, in get_response response = callback(request, **param_dict) File "/home/jmcbray/Documents/topical/business/site_test/apps/engulf/views/util.py", line 231, in _checklogin return view_func(request, *args, **kwargs) File "/home/jmcbray/Documents/topical/business/site_test/apps/engulf/views/engulf.py", line 333, in add opml_errors = opml_manipulator.get_validation_errors(opml_data) File "/usr/lib/python2.3/site-packages/django-1.0.0-py2.3.egg/django/core/formfields.py", line 70, in get_validation_errors validator(new_data.get(field.field_name, ''), new_data) File "/usr/lib/python2.3/site-packages/django-1.0.0-py2.3.egg/django/core/formfields.py", line 491, in isNonEmptyFile if not field_data['content']: TypeError: string indices must be integers The form enctype is multipart/form-data. Obviously the value of the field the validator is seeing is a string, and obviously it shouldn't be. So what's going wrong here? It's surely something that should be completely obvious, but somehow I'm just managing to miss it. -- +----------------------------------------------------------------+ | Jason F. McBrayer [EMAIL PROTECTED] | | "If you wish to make Pythocles wealthy, don't give him more | | money; rather, reduce his desires." -- Epicurus |