저는 장고 초보자입니다. 나는 내 문제가 사소하다고 생각하지만 해결할 수는 없다. 나는 1 FileField와 함께 모델이라는 문서를 가지고 :ModelForm에 의해 FileField에서 django 모델의 새 인스턴스를 추가하는 방법은 무엇입니까?
class Document(models.Model):
file = models.FileField(upload_to="documents")
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
category = models.ForeignKey(DocumentCategory)
title = models.CharField(max_length=255, unique=True)
description = models.TextField()
def __unicode__(self):
return self.title
나는이 ModelForm으로 새로운 인스턴스이 클래스를 추가 할 :
views.py에서class DocumentForm(ModelForm):
class Meta:
model = Document
내가 가진 :
def add_document(request):
if request.method == 'POST':
form = DocumentForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return HttpResponseRedirect('/')
else:
return render_to_response('add_document.html', {'form':form}, context_instance=RequestContext(request))
else:
form = DocumentForm()
return render_to_response('add_document.html', {'form':form}, context_instance=RequestContext(request))
템플릿 (예 : add_document.html) :
{% extends "base.html" %}
{{block content %}
<form enctype="multipart/form-data" method="post" action="">{% csrf_token %}
{{form}}
<input type="submit" value="Add document" />
</form>
{% endblock %}
관리자 인터페이스에서 데이터베이스에 모델을 올바르게 추가하고 추가 된 파일은 "upload_to"현지화에 있습니다. 내 양식이 작동하지 않습니다. 내가 양식을 제출할 때 양식 파일 필드에 오류가 발생합니다 : "이 필드는 필수 항목입니다!" 모델에 FileField가 없으면 이전에 작동합니다. 나는 장고를 가지고있다. 1.2.5 나는 3 일 동안 아무 것도하지 않고 고문한다. 나는 필사적이다. 내 언어를 유감스럽게 생각합니다. 도와주세요!
. 이상한 들여 쓰기 이외의 문제는 찾을 수 없다. –
'import pdb; pdb.set_trace()'POST 메소드를 테스트 한 직후. 그런 다음 요청 개체를 검사하고 단서를 요청하십시오. 행운을 빕니다. –
'{{form}}'은 (는) 기본값이 {{form.as_p}}입니까? –