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


Reply via email to