2016-04-29 47 views
0

呃..我不知道如何描述这个问题,这就是为什么我找不到合适的解决方案。我会尽可能专门解释它。 我只想在文章中上传图片,但如果我不想,表单会提醒我这是“此字段是必需的”。我如何解决它? 这里是我的相关代码:Django 1.8.6如何上传图像可选

def post(request): 
if request.method == 'POST': 
    form = NoteText(request.POST or None, request.FILES or None) 
    if form.is_valid(): 
     data1 = form.cleaned_data 
     # data2 = subject.cleaned_data 
     title = data1['title'] 
     content = data1['content'] 
     category = data1['category'] 
     subject_name = data1['subject_name'] 
     photo = data1['photo'] 

     # subject_name = data2['subject'] 
     if not Note.objects.all().filter(title=title): 
      note = Note(title=title, 
         content=content, 
         created=timezone.now(), 
         category=category, 
         subject_name=subject_name, 
         photo = photo) 
      note.save() 
      return HttpResponseRedirect('/notebook/') 
     else: 
      return HttpResponse('The title has been used') 
else: 
    form=NoteText() 
    # subject=SubjectText() 
return render(request,'notebook/post.html',{'form':form}) 

在HTML:post.html:

<form action="{% url 'post' %}" method="post" enctype="multipart/form-data"> 
<table> 
    {{ form.as_table }} 

</table> 

{% csrf_token %} 

detail.html:

<div> 
    {% if note.photo %} 
     <img src="{{ note.photo.url }}" /> 
    {% endif %} 
</div> 

如果我要上传,如何我要上传初始图片? 如果我想上传多个图像,FilerImageField是否有帮助?

回答

2

如果你和一个Form工作,那么你可以在现场的required属性设置为false

默认情况下,每个Field类假设值是必需的

如果”再有ModelForm工作,那么你可以将模型领域的blank属性设置为True

如果field has blank = True,表单验证将允许输入一个空值。