Django 1.8.6如何上传图片可选

时间:2016-04-29 08:08:23

标签: django

呃..我不知道如何描述这个问题,这就是为什么我找不到合适的解决方案。我将尽可能具体地解释它。 我想只在我想要的时候在文章中上传图像,但如果我不这样做,表格会提醒我“这个字段是必需的”。我如何解决它? 以下是我的相关代码:

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会有帮助吗?

1 个答案:

答案 0 :(得分:2)

如果您正在使用Form,则可以将该字段的required属性设置为false

  

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

如果您正在使用ModelForm,则可以将模型字段的blank属性设置为True

  

如果某个字段为空= True,则表单验证将允许输入空值。