Python |姜戈 |表单中的空字段

Python | Django | Empty fields from Forms

我有一些问题 这是我的代码:

views.py:

def cv_detail(request, pk):
    cv = get_object_or_404(Cv, pk=pk)
    return render(request, 'cv_detail.html', {'cv': cv})

cv_detail.html:

{% block profile %}
<a class="btn-lg btn-default" href="{% url "edit_cv" pk=cv.pk %}"><span class="glyphicon glyphicon-pencil"> Edit</span></a>
<p></p><br>
<div class="jumbotron">

    {% if not cv.specialization.is_empty %}
        <p>Specialization: {{cv.specialization}}</p>
    {% endif %}
</div>
{% endblock %}

forms.py:

class CvForm(forms.ModelForm):

    class Meta:
        model = Cv
        fields = ('name', 'specialization',)

models.py:

class Cv(models.Model):
    author = models.ForeignKey('auth.User')
    name = models.CharField(max_length=25, null = True)
    specialization = models.CharField(max_length=30, blank=True, null=True)

    def zapisz(self):
        self.save()

    def __str__(self):
        return self.surname

问题是:我如何检查简历模型的任何字段是否为空? 我在 "Specialization" 中什么都没有 - 没有被我补充,所以不应该显示,但它是,比如:"Specialization: ".

任何想法如何检查?因为我所拥有的不起作用:/

谢谢!

您可以使用以下方法检查模板中的空 specialization 字段:

{% if cv.specialization and cv.specialization.strip %}
    <p>Specialization: {{cv.specialization}}</p>
{% endif %}

.strip 检查将确保您不会尝试显示仅包含空格的字符串。