与bootstrap3兼容的django项目日期选择器。

django-bootstrap3-datepicker的Python项目详细描述


此软件包是django-bootstrap3-datetimepicker v2.3的一个分支,可在此处获得:

<;https://github.com/nkunihiko/django-bootstrap3-datetimepicker>;

在上面使用bootstrap v3 datetimepicker的地方,这个包使用bootstrap v3 datepicker widget version 1.6.1,由以下项目提供:

<;https://github.com/eternicode/bootstrap-datepicker>;

可在此处找到日期的正确格式选项:

<;https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior>;

它只是用bootstrap3测试过的。

安装

  • 运行pip install django-bootstrap3-datepicker
  • 'bootstrap3_datepicker'添加到INSTALLED_APPS

示例

forms.py

from django import forms

from bootstrap3_datepicker.fields import DatePickerField
from bootstrap3_datepicker.widgets import DatePickerInput


class ToDoForm(forms.Form):
    # normal date field with no picker
    date_1 = forms.DateField()

    # date field with default picker, uses locale default
    # date format for display and decode
    date_2 = forms.DateField(widget=DatePickerInput())

    # date field with picker, uses specified format for display,
    # decode is via locale default input_formats so format specified
    # must match one
    date_3 = forms.DateField(widget=DatePickerInput(format="%Y-%m-%d"))

    # date field with picker, uses specified format for display and
    # input_formats for decode
    date_4 = forms.DateField(input_formats=["%B %Y"],
                             widget=DatePickerInput(format="%B %Y",
                                                    attrs={"placeholder": "Placeholder text"}))
                                                    options={"minViewMode": "months"}))

    # date picker field, uses locale default date format for display
    # and decode, same as date_2
    date_5 = DatePickerField()

    # date field with picker, uses specified format for display and
    # decode, same as date_3
    date_6 = DatePickerField(input_formats=["%Y-%m-%d"])

    # custom format with picker attrs and options specified, uses specified format
    # for display and decode, same as date_4
    date_7 = DatePickerField(input_formats=["%B %Y"],
                             widget_attrs={"placeholder": "Placeholder text"})
                             widget_options={"minViewMode": "months"})

DatePickerInput提供与javascript日期选择器的集成-指定的options将直接传递给javascript日期选择器。可用的options在以下文档中解释:

<;http://bootstrap-datepicker.readthedocs.org/en/release/options.html>;

DatePickerField已作为一个通用工具提供。当DatePickerInput被指定为DateField上的小部件并且需要非标准日期格式时,应该同时指定和匹配javascript数据选择器的formatDateField本身的input_formats。在DatePickerField上,input_formats同时提供显示和解码格式。widget_attrs作为小部件上的属性传递,而widget_options则直接传递给javascript日期选择器。

template.html

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.css">
        <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.css">
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.js"></script>
        <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.js"></script>
        {{ form.media }}
        <style>
            body {
                margin: 40px auto;
                width: 90%;
            }
            form {
                margin: 40px auto;
                min-width: 201px;
                max-width: 500px;
            }
        </style>
    </head>
    <body>
        <form method="post" role="form">
            {% for field in form.visible_fields %}
            <div id="div_{{ field.html_name }}"
                 class="form-group{% if field.errors %} has-error{% endif %}">
                {{ field.label_tag }}
                {{ field }}
                <div class="text-muted pull-right">
                    <small>{{ field.help_text }}</small>
                </div>
                <div class="help-block">
                    {{ field.errors }}
                </div>
            </div>
            {% endfor %}
            {% for hidden in form.hidden_fields %}
                {{ hidden }}
            {% endfor %}
            {% csrf_token %}
            <div class="form-group">
                <input type="submit" value="Validate" class="btn btn-primary" />
            </div>
        </form>
    </body>
</html>

bootstrap3和jquery必须与{{ form.media }}一起包含。

发行说明

V0.4.1

  • 删除了静态目录中的符号链接,并重命名了1.6.1目录以替换它(PIP没有按预期发布符号链接)。

0.4.0版

  • 更新至Bootstrap DatePicker版本1.6.1
  • 使用库的缩小版本(包括源地图)

V0.3.1

  • 修复了未指定输入格式时指定属性/选项的问题。

v0.3

  • 为DatePickerField添加了对小部件属性的支持。

v0.2

  • 文档修复。

v0.1

  • 初次发布。

要求

  • python=2.7
  • django>;=1.5
  • 引导程序=3.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联