Thanks Nigel, this looks very promising ;)

If I interpret your text correctly, this is based on the upload/save 
example I mentioned.
I'm really interested in the meaning of parts your closing paragraph:

   - "This saves the file in 'media/documents/2013/08/10/datafile.csv'." - 
   I think this means the contents of the file is copied from the user disk to 
   my disk, right? 
   - "pointing them to the correct directory and file." - could I not 
   simply point to the *original* directory and file (on the user's 
   machine) and read the contents from that location?


Regards,
Bob

Op zaterdag 10 augustus 2013 18:39:38 UTC+2 schreef Nigel Legg:
>
> I've based my process a minimal file upload - I think based on the answer 
> to the link above.  I use:
> models.py:
> class Document(models.Model):
>     docfile = models.FileField(upload_to='documents/%Y/%m/%d')
>
> views.py:
> def list(request):
>     # Handle file uploadf
>     if request.method == 'POST':
>         form = DocumentForm(request.POST, request.FILES)
>         if form.is_valid():
>             newdoc = Document(docfile = request.FILES['docfile'])
>             newdoc.save()
>
>             # Redirect to the document list after POST
>             return 
> HttpResponseRedirect(reverse('myproject.myapp.views.list'))
>     else:
>         form = DocumentForm() # A empty, unbound form
>
>     # Load documents for the list page
>     documents = Document.objects.all()
>
>     # Render list page with the documents and the form
>     return render_to_response(
>         'myapp/list.html',
>         {'documents': documents, 'form': form},
>         context_instance=RequestContext(request)
>     )
>
> forms.py:
> class DocumentForm(forms.Form):
>     docfile = forms.FileField(
>         label='Select a file',
>         help_text='max. 42 megabytes'
>     )
>
> This saves the file in 'media/documents/2013/08/10/datafile.csv'.  You can 
> then access this using the normal open() and read() functions, pointing 
> them to the correct directory and file.  As far as I can see, the data 
> remains in the file you upload, but the location and name are stored in the 
> database - in this case, "documents/2013/10/08/datafile.csv". 
>
> Hope this helps 
>
> Regards,
> Nigel Legg
> 07914 740972
> http://www.trevanianlegg.co.uk
> http://twitter.com/nigellegg
> http://uk.linkedin.com/in/nigellegg
>
>
>
> On 10 August 2013 15:52, Bob Aalsma <[email protected] <javascript:>>wrote:
>
>> Hi,
>>
>> I'm trying to achieve the following:
>>
>>    - user indicates a file on his/her machine 
>>    - the program opens the file, reads the data and acts on that 
>>
>>
>> So far, I can find examples of indicating the file on the user's machine, 
>> but this is always combined with saving to database (which I don't want); 
>> the clearest example I could find is 
>> http://stackoverflow.com/questions/5871730/need-a-minimal-django-file-upload-example
>>
>> Question 1: is it really necessary to store the data in my database?
>>
>> If not, I've not been able to find how to actually open and read the file.
>> I've been trying out variations on reading, based on what I could find in 
>> the Tutorials and Managing files (
>> https://docs.djangoproject.com/en/1.5/topics/files/ ) but I don't seem 
>> to understand how to actually find the path and filename the user would 
>> have indicated. I seem to get completely lost in FileField and FieldFile 
>> and connected methods <sigh>
>>
>> Question 2: how do I find the indicated path and filename from the user?
>>
>> Regards,
>> Bob
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> Visit this group at http://groups.google.com/group/django-users.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>
 

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to