Howdy - I ve written a very simple app to accept job applications including a resume upload.
Running the bundled server for development locally, I can successfully upload files via the web form on the front end and the admin interface. Running it on the remote server (Apache with mod_python) I can successfully upload files via the admin interface but attempts over the web front end yield no uploaded file.
I ve added FILE_UPLOAD_PERMISSIONS = 0644
to settings, checked the two settings files, and looked for similar problems described elsewhere. Figure I m either forgetting a setting or need to go about this a different way. Any suggestions?
For reference, code included.
The 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)
The 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))