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 <overhaalsgang_24_...@me.com> 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 django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> 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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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