To get a new object from a ModelForm you just save it, so the view
should be something like:

def uploadImage(request):

  if request.method == 'POST': #if submitted
    form = UploadNewImageForm(request.POST, request.FILES)

    if form.is_valid():
        ir = form.save()
       rw = ResourceWrapper(name = form.cleaned_data['name'])
       rw.save()
       return HttpResponseRedirect('/Main_page/') # Redirect after
POST


form.save() will put the image in the right place.

Kip.

On Oct 26, 7:05 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
wrote:
> Hello,
>
> I've been having some problems with FileField. I can create and save
> objects with the FileField file, but the file is never placed in any
> directory. Essentially, the database has the correct values, but no
> files are copied into the correct directory. I am using django-1.0.
>
> A temporary file is created in memory if the file is < 2.5M, and a
> temporary file is written to disk in /tmp/ if it is bigger. I have
> confirmed this. Do I have to specifically trigger the save to the hard
> disk to get the file to appear in my MEDIA_ROOT subfolder? From the
> documentation it appeared that this should be done automatically.
>
> Settings:
> MEDIA_ROOT = '/home/paul/proj/djangotest/uploads/'
>
> Model:
>
> class ImageResource(models.Model):
>   wrapper = models.ForeignKey(ResourceWrapper)
>   image = models.FileField(upload_to='images/')
>   notes = models.CharField(max_length=200)
>
> class ResourceWrapper(models.Model):
>   #incomplete class, for versioning later
>   name = models.CharField(max_length=200)
>   creationDate = models.DateField(auto_now_add=True)
>
> Form:
>
> class UploadNewImageForm(ModelForm):
>   name = forms.CharField(max_length=200)
>   class Meta:
>     model = ImageResource
>
> View:
>
> def uploadImage(request):
>
>   if request.method == 'POST': #if submitted
>     form = UploadNewImageForm(request.POST, request.FILES) # A form
> bound to the POST data
>
>     if form.is_valid(): # All validation rules pass
>
>       # Process the data in form.cleaned_data
>
>       #create a meta resource object
>       rw = ResourceWrapper(name = form.cleaned_data['name'])
>       rw.save()
>
>       #this is either a TemporaryFile or MemoryFile depending on its
> size when I debug
>       img = form.cleaned_data['image']
>
>       ir = ImageResource(wrapper=rw,
>                          notes = form.cleaned_data['notes'],
>                          image = img, ##maybe the problem is here???
>                          )
>       ir.save()
>
>       #redirect to the main page
>       return HttpResponseRedirect('/Main_page/') # Redirect after POST
>
> Any ideas? This is frustrating because there are no error messages to
> point me in the right direction, and everything else seems to work.
--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to