Thanks Nigel. OK, at least this has stopped me running around in circles and I can continue from here.
I would think you can do stuff client side, but this is probably more Python and less Django - to be solved in future releases ;) Regards, Bob Op 11 aug. 2013, om 00:10 heeft Nigel Legg <[email protected]> het volgende geschreven: > The file is uploaded - ie it is copied onto the server drive. > I don't think you can do stuff client side with Django - beyond my knowledge. > > Regards, > Nigel Legg > 07914 740972 > http://www.trevanianlegg.co.uk > http://twitter.com/nigellegg > http://uk.linkedin.com/in/nigellegg > > > > On 10 August 2013 18:04, Bob Aalsma <[email protected]> wrote: > 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]> 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]. > 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. > > > > > > > -- > 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. > > > > > -- > You received this message because you are subscribed to a topic in the Google > Groups "Django users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/django-users/oX4xRqokJPQ/unsubscribe. > To unsubscribe from this group and all its topics, 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. > > -- 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.

