设置值属性的错误条件

时间:2018-06-01 09:33:32

标签: html django twitter-bootstrap-3

在以下模板代码中,我设置了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>

enter image description here

但是,在其他模板中,如果我设置了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>

enter image description here

我必须设置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>

我无法弄清楚两个表单模板之间的区别。

1 个答案:

答案 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: '' }}",以防管道字符('')左侧的值为|