This is Django 1.5
Python 2.7.3
MYSQL Database

Here is the model that I am using:

class SupportingDocument(models.Model):

    """Defines an archived attachment."""

    provision = models.ForeignKey(Provision, null = False, blank = False)

    submitted_by = models.CharField(max_length = 64, null = False, blank = 
True, default = "")

    source_file_name = models.CharField(max_length = 256, null = False, 
blank = False)

    content_type = models.CharField(max_length = 64, null = True, blank = 
True, default = "")

    submission_time = models.DateTimeField()

    version = models.CharField(max_length = 32, null = True, blank = True, 
default = "")

    comment = models.TextField(null = True, blank = True, default = "")

    saved_file = models.FileField(upload_to = "supporting_documents", null 
= True, blank = True)

    

    def __init__(self, *args, **kwargs):

        super(SupportingDocument, self).__init__(*args, **kwargs)

        self.submission_time = datetime.today()

        

    def __unicode__(self):

        return self.source_file_name + ':' + unicode(self.submission_time)


and the form definition

class SupportingDocumentForm(ModelForm):

    def __init__(self, *args, **kwargs):

        try:

            provision = None

            if 'provision' in kwargs:

                self.provision = kwargs.pop('provision')

            if 'user' in kwargs:

                self.submitted_by = kwargs.pop('user')

        except Exception, e:

            pass

        return super(SupportingDocumentForm, self).__init__(*args, **kwargs)

    

    class Meta:

        model = SupportingDocument

        exclude = ('provision', 'submitted_by', 'source_file_name', 
'content_type', 'submission_time')


    def save(self, request=None, commit=True):

        try:

            supporting_document = super(SupportingDocumentForm, 
self).save(commit=False)

            supporting_document.source_file = self.source_file

            supporting_document.provision = self.provision

            supporting_document.submitted_by = self.submitted_by

            supporting_document.save()

        except Exception, e:

            provisionLogger.error('Failure:%s when supplementing group 
details' %(repr(e)))

            

    def as_table(self):

        try:

            response = super(SupportingDocumentForm, self).as_table()

        except Exception, e:

            pass

        return response

and the code to handle the request

def supporting_document_new(request):

    current_tab = "Data"

    current_section = "SUPDOCS"

    action_url = urlresolvers.reverse('provision-supporting-document-new')

    if request.POST:

        try:

            form = SupportingDocumentForm(request.POST,

                                          request.FILES,

                                          provision=request.provision,

                                          user=request.user)

            if form.is_valid():

                supporting_document = form.save()

                return redirect_to_url("provision-supporting-document-list")

        except Exception, e:

            modal_error_message = "Fatal error:" + repr(e)

            provisionLogger.error("Error saving Supporting Document %s" % 
(supporting_document.source_file))

    else:

        try:

            form = SupportingDocumentForm(provision=request.provision, 
user=request.user)

        except Exception, e:

            pass

    return render_to_response("provision/suppdocform.html", locals(), 
context_instance=RequestContext(request))

and the html for the form

<p class="modal_form_header">Supporting Document <br/>{{ sourcefile }}</p>

<form method="post" enctype="multipart/form-data" action="{{ action_url }}" 
id="supporting_document_form" class="provision_modal_form" name=
"supporting_document_form">

    <table  class="provision_django_form_table">

        {{ form.as_table }}

     <tr></tr>

    <tr style="width: 100%;">

    <td colspan=2 style="width: 100%; text-align: center;">

   <input type="submit" name="submit" value="Submit" id="submit" />

<span id="end_of_submit_block"></span>

</td>

</tr>

<tr style="width: 100%;">

<td colspan=2 style="width: 100%; text-align: center;" class="errors">

{% if modal_error_message %}

{{ modal_error_message }}

{% else %}

&nbsp;&nbsp; 

{% endif %}

</td>

    </tr>

    </table> 

</form>

<div>{% csrf_token %}</div>

I am sure that there must be a problem with the html but this is driving me 
crazy.  Probably some stupid typo.

When I set a breakpoint following the if request.POST the request.FILES is 
an empty dictionary.

-- 
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to