Hi Malcolm,

Thanks for the helpful reply.

On Sat, 01 Aug 2009 12:24:29 +1000, Malcolm Tredinnick
<malc...@pointy-stick.com> wrote:

> On Fri, 2009-07-31 at 11:42 -0400, Faheem Mitha wrote:
>> 
>> Hi everybody,
>> 
>> I upgraded from somewhere around Django 1.0 to 1.0.2, and some things 
>> broke and had to be changed. In the following, f is an object of class 
>> 'django.core.files.uploadedfile.TemporaryUploadedFile'. I need to
>> 
>> 1) Get the contents of the file corresponding to f. I had to change 
>> f['content'] to f._file.read()
>> 
>> From the docs (specifically, 'core/files/uploadedfile.py') it looks like 
>> f.read() might be the right thing?

> The correct way to access uploaded file data is documented here:
> http://docs.djangoproject.com/en/dev/topics/http/file-uploads
> /#handling-uploaded-files

> That is the public API, and you are correct in thinking that read() is
> the method you're after here.

>> 2) Get the filename of the file corresponding to f. I had to change 
>> f['filename'] to f._name.

> This is also documented in the above reference. Use the "name" attribute
> on the UploadedFile isntance.

Ok, I will change these.

>> 3) Get the sessionid. I had to change request.COOKIES['sessionid']
>> to request.COOKIES[settings.SESSION_COOKIE_NAME]

> The default value of settings.SESSION_COOKIE_NAME has always (and
> remains) "sessionid". However, it's a little more portable to use
> the latter form (request.COOKIES[settings.SESSION_COOKIE_NAME) in
> your applications, since then they are usable no matter what the
> setting happens to be. A Django application writer is not
> necessarily in control of the settings that will be used when the
> application is installed.

To summarize, I've changed settings.SESSION_COOKIE_NAME from their
default value, so this breaks request.COOKIES['sessionid'], and in
this case, using request.COOKIES[settings.SESSION_COOKIE_NAME) is
preferable, because it will work no matter what the value of
settings.SESSION_COOKIE_NAME happens to be. Is that a correct summary?

>> It is presumably better to use a stable API rather than less stable
>> internals,

> It is *always* better. :-)

Ok. Thanks.                                      Regards, Faheem Mitha.


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

Reply via email to