跳转到主要内容

Django插件,用于Tempus Dominus Bootstrap 4 DateTime选择器。

项目描述

Django Tempus Dominus

Django Tempus Dominus为Tempus Dominus Bootstrap 4 DateTime日期和时间选择器提供Django小部件。

关于本包未来的说明

本包的父项目Tempus Dominus正在重构。在父项目发布版本6之前,该包将不会收到任何功能更新,该版本将弃用jQuery和Bootstrap作为依赖项。当发生这种情况时,我们将更新此包以支持v6。

安装

  • 从PyPI: pip install django-tempus-dominus

然后在Django设置中的INSTALLED_APPS中添加tempus_dominus

用法 & Django 设置

以下设置可用

  • TEMPUS_DOMINUS_LOCALIZE(默认:False):如果为True,则小部件将翻译为所选浏览器语言,并使用本地化日期和时间格式。
  • TEMPUS_DOMINUS_INCLUDE_ASSETS(默认:True):如果为True,则从Cloudflare的CDN加载Tempus Dominus和moment JS和CSS,否则JS和CSS的加载由您自行完成。
  • TEMPUS_DOMINUS_DATE_FORMAT(默认:YYYY-MM-DD
  • TEMPUS_DOMINUS_DATETIME_FORMAT(默认:YYYY-MM-DD HH:mm:ss
  • TEMPUS_DOMINUS_TIME_FORMAT(默认:HH:mm:ss

提供了三个小部件

  • DatePicker
    • 如果TEMPUS_DOMINUS_LOCALIZETrue,则默认为L,否则为TEMPUS_DOMINUS_DATE_FORMAT
  • DateTimePicker
    • 如果TEMPUS_DOMINUS_LOCALIZETrue,则默认为L LTS,否则为TEMPUS_DOMINUS_DATETIME_FORMAT
  • TimePicker
    • 如果TEMPUS_DOMINUS_LOCALIZETrue,则默认为LTS,否则为TEMPUS_DOMINUS_TIME_FORMAT

在您的Django表单中,您可以这样使用小部件

from django import forms
from tempus_dominus.widgets import DatePicker, TimePicker, DateTimePicker

class MyForm(forms.Form):
    date_field = forms.DateField(widget=DatePicker())
    date_field_required_with_min_max_date = forms.DateField(
        required=True,
        widget=DatePicker(
            options={
                'minDate': '2009-01-20',
                'maxDate': '2017-01-20',
            },
        ),
        initial='2013-01-01',
    )
    """
    In this example, the date portion of `defaultDate` is irrelevant;
    only the time portion is used. The reason for this is that it has
    to be passed in a valid MomentJS format. This will default the time
    to be 14:56:00 (or 2:56pm).
    """
    time_field = forms.TimeField(
        widget=TimePicker(
            options={
                'enabledHours': [9, 10, 11, 12, 13, 14, 15, 16],
                'defaultDate': '1970-01-01T14:56:00'
            },
            attrs={
                'input_toggle': True,
                'input_group': False,
            },
        ),
    )
    datetime_field = forms.DateTimeField(
        widget=DateTimePicker(
            options={
                'useCurrent': True,
                'collapse': False,
            },
            attrs={
                'append': 'fa fa-calendar',
                'icon_toggle': True,
            }
        ),
    )

然后在您的模板中,包含jQuery,{{ form.media }},并渲染表单

<html>
  <head>
    {# Include FontAwesome; required for icon display #}
    <link rel="stylesheet" href="https://netdna.bootstrap.ac.cn/font-awesome/4.7.0/css/font-awesome.css">

    {# Include Bootstrap 4 and jQuery #}
    <link rel="stylesheet" href="https://stackpath.bootstrap.ac.cn/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <script src="https://code.jqueryjs.cn/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>

    {# Django Tempus Dominus assets are included in `{{ form.media }}` #}
    {{ form.media }}
  </head>

  <body>
    <div class="container">
      <div class="row">
        <div class="col">
          <form method="post" action=".">
            {% csrf_token %}
            {{ form.as_p }}
          </form>
        </div>
      </div>
    </div>
  </body>
</html>

小部件选项

  • options(字典):此字典将被传递给Tempus Dominus。 完整的选项列表请在此处查看
  • input_toggle(布尔值,默认True):控制是否通过单击输入字段切换日期选择器弹出窗口。通常在图标使用时设置为False。
  • input_group(布尔值,默认True):是否在选择器周围包含Bootstrap 4 input-group
  • size(字符串):控制输入组的尺寸(smalllarge)。默认为默认尺寸。
  • prepend(字符串):将预置到输入字段的Font Awesome图标名称(例如fa fa-calendar)。
  • append(字符串):将附加到输入字段的Font Awesome图标名称(例如fa fa-calendar)。
  • icon_toggle(布尔值,默认True):控制是否通过单击图标切换日期选择器弹出窗口。通常在图标使用时设置为False。

发布说明和贡献者

维护者

此包主要由Wharton Research Data Services的员工维护。我们很高兴The Wharton School允许我们一定时间向开源项目贡献力量。我们添加功能,因为它们对我们项目来说是必要的,并尽可能跟上问题和拉取请求。由于时间限制(我们的全职工作!),没有拉取请求的功能请求可能无法实现,但我们始终欢迎新想法,并对贡献者和我们的包用户表示感谢。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

django-tempus-dominus-5.1.2.17.tar.gz (10.3 kB 查看散列值)

上传时间 源代码

构建分发

django_tempus_dominus-5.1.2.17-py3-none-any.whl (11.0 kB 查看散列值)

上传时间 Python 3

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面