与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数据选择器的format和DateField本身的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