File not loading from web form in Django

Howdy - I wrote a very simple application to receive applications for work, including downloading resumes.

Starting the linked server for development locally, I can successfully upload files through the front-end web form and admin interface. By running it on a remote server (Apache with mod_python), I can successfully upload files through the admin interface, but trying on the web interface does not give the downloaded file.

I added FILE_UPLOAD_PERMISSIONS = 0644to the settings, checked two settings files and looked for similar problems described elsewhere. Drawing. I either forget the setting or have to go about it differently. Any suggestions?

For reference, the code is included.

Model:

class Application(models.Model):
    job = models.ForeignKey('JobOpening')
    name = models.CharField(max_length=100)
    email = models.EmailField()
    date_applied = models.DateField()
    cover_letter = models.TextField()
    resume = models.FileField(upload_to='job_applications', blank=True)

    def __str__(self):
        return self.name

    def save(self):
        if not self.date_applied:
            self.date_applied = datetime.today
        super(Application, self).save()

The form:

class JobApplicationForm(ModelForm):    
    class Meta:
        model = Application

    def save(self, commit=True, fail_silently=False):
        super(JobApplicationForm, self).save(commit)

View:

def job_application(request):
    ajax = request.GET.has_key('ajax')
    if request.method == 'POST':
        form = JobApplicationForm(request.POST, request.FILES)
        if form.is_valid():
            new_application = form.save()
            return HttpResponseRedirect('/about/employment/apply/sent/')
    elif request.GET.has_key('job'):
        job = request.GET['job']
        form = JobApplicationForm({'job': job})
    else:
        return HttpResponseRedirect('/about/')
    t = loader.get_template('employment/job_application.html')
    c = Context({
        'form': form,
    })
    return HttpResponse(t.render(c))
+5
2

. , , , , enctype :

<form enctype="multipart/form-data" method="post" action="/foo/">
+22

, enctype="multipart/form-data"?

<form action="." method="POST" enctype="multipart/form-data">
    ...
</form>

-, save() ModelForm, .

-, new_application, form.save().

-, slug JobOpening querystring. , PHP, URL-, /jobs/opening/my-cool-job-opening/, ; URL-. GET , .

, render_to_response , , .

+4

All Articles