在以下模板代码中,我设置了value="{{ form.title.value }}"
,并按我的意图显示
<div class="form-group">
<label for="title" class="col-sm-1 control-label">Title</label>
<div class="col-sm-11">
<input type="text" class="form-control" id="title" name="title" placeholder="Write Title Later" value="{{ form.title.value }}">
</div>
但是,在其他模板中,如果我设置了value="{{ form.username.value }}"
,则会显示None
<div class="form-group">
<label for="username" class="col-sm-1 control-label">Username</label>
<div class="col-sm-11">
<input type="text" class="form-control" id="username" value="{{ form.username.value }}"
name="username" placeholder="Email">
</div>
</div>
我必须设置value="{% if form.username.value %}{{ form.username.value }}{%else%}{%endif%}"
<div class="form-group">
<label for="username" class="col-sm-1 control-label">Username</label>
<div class="col-sm-11">
<input type="text" class="form-control" id="username" value="{% if form.username.value %}{{ form.username.value }}{%else%}{%endif%}"
name="username" placeholder="Email">
</div>
</div>
我无法弄清楚两个表单模板之间的区别。
答案 0 :(得分:4)
在Python中,RequestDispatcher rd = request.getRequestDispatcher("/jspToDisplayAsResponse.jsp");
rd.forward(request, response);
和空字符串None
之间存在差异。空字符串是一个没有字符的字符串,另一方面''
根本不是字符串,但你可以看到它就像许多编程语言中的字符串可能类似None
。
默认情况下,Django将null
排序为字符串None
,而不是空字符串。但是,您可以使用default_if_none
过滤器:
'None'
这里我们将使用空字符串value="{{ form.title.value | default_if_none: '' }}"
,以防管道字符(''
)左侧的值为|
。