【问题标题】:DateTimePicker with Django Crispy Forms带有 Django Crispy 表单的 DateTimePicker
【发布时间】:2013-11-08 17:31:43
【问题描述】:

我正在使用 Python3、Django 1.5 和 Bootstrap 3。

我有一个带有 DateTimeField 对象的模型,对于与该模型相关的表单,我想从这里使用 DateTimePicker 小部件:http://www.malot.fr/bootstrap-datetimepicker/

这个小部件的 html 应该是:

  <div id="div_id_start_time" class="form-group">
    <label for="id_start_time" class="control-label col-lg-2">Start Time</label>
    <div class="col-lg-5 input-append input-group date form_datetime"
       data-date-format="dd MM yyyy - HH:ii P" data-link-field="id_start_time">
      <input class="form-control" size="16" type="text" value="" readonly>
      <span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span>
      <span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span>
    </div>
    <input type="hidden" id="id_start_time" value="" /><br/>
  </div>
</fieldset>

我正在尝试使用酥脆的表格,但我无法使用它来制作这个特定的输出。我觉得我需要为这个小部件创建自己的布局对象,但我不知道如何去做,文档在这个主题上有点薄。

有什么想法吗?

【问题讨论】:

    标签: django twitter-bootstrap django-crispy-forms


    【解决方案1】:

    我最终只是为这个小部件创建了一个模板。所以代码看起来像这样:

    日期时间字段.html

    {% load crispy_forms_field %}
    
    <div{% if div.css_id %} id="{{ div.css_id }}"{% endif %} class="form-group{% if form_show_errors and field.errors %} has-error{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}{% if div.css_class %} {{ div.css_class }}{% endif %}">
        {% if field.label and form_show_labels %}
            <label for="{{ field.id_for_label }}" class="control-label {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
                {{ field.label|safe }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}
            </label>
        {% endif %}
    
      <div class="controls input-group input-append date form-datetime col-md-5" data-link-field="{{ field.id_for_label }}" {{ flat_attrs|safe }}>
        <input class="form-control" size="16" type="text" value="" readonly>
        <span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span>
        <span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span>
      </div>
      <input type="hidden" id="{{ field.id_for_label }}" value="" /><br/>
      {% include 'bootstrap3/layout/help_text_and_errors.html' %}
    </div>
    

    forms.py

        self.helper.layout = Layout(
            Field('start_time', template="layout/datetimefield.html", data_date_format="dd MM yyyy - HH:ii P"),
        )   
    

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 2020-04-03
      • 2022-01-04
      • 1970-01-01
      • 2019-12-31
      • 2016-12-20
      • 2020-08-04
      • 2012-04-16
      • 2014-12-21
      相关资源
      最近更新 更多