안녕하세요 - 이력서 업로드를 포함하여 취업 응용 프로그램을 허용하는 매우 간단한 앱을 작성했습니다.파일이 장고의 웹 양식에서 업로드되지 않습니다
개발을 위해 번들로 구성된 서버를 로컬에서 실행하면 프런트 엔드 및 관리 인터페이스의 웹 양식을 통해 파일을 업로드 할 수 있습니다. 원격 서버에서 실행 (mod_python을 사용하는 Apache) admin 인터페이스를 통해 파일을 성공적으로 업로드 할 수 있지만 웹 프론트 엔드를 통한 시도는 업로드 된 파일을 생성하지 않습니다.
설정에 FILE_UPLOAD_PERMISSIONS = 0644
을 추가하고 두 설정 파일을 확인한 다음 다른 곳에서 설명한 유사한 문제를 찾았습니다. 그림 나는 설정을 잊어 버렸거나 다른 방향으로 갈 필요가 있습니다. 어떤 제안?
참조 용 코드가 포함되어 있습니다.
모델 :
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()
형태 :
class JobApplicationForm(ModelForm):
class Meta:
model = Application
def save(self, commit=True, fail_silently=False):
super(JobApplicationForm, self).save(commit)
뷰 :
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))
양식 템플릿을 작성하는 것을 잊어 버렸습니다. 개발자가 양식을 확인하지 않았다고 생각합니다. 무엇이 분명해야했는지 보도록 하셔서 고맙습니다. – bennylope
나는 똑같은 짓을했는데 디버깅을하는 데 엄청난 시간을 절약했습니다. StackOverflow는 멋지다! – Dan
'enctype = "multipart/form-data"'웹. 작은 조각의 합계는 지구상에서 가장 큰 엉망을 만든 시간을 추가했습니다. 나는 너무 지긋 지긋하다. 그리고 난 그 난장판에서, 그리고 그 난장판으로 코드해야합니다. **'Sigh' ** –