Skip to main content
# django-datetimepicker

Uses xdsoft's datetimepicker to make a datetimepicker widget for django.
This is inspired by the `django-bootstrap3-datetimepicker` application.

![datetimepicker preview](https://cloud.githubusercontent.com/assets/26252388/24758585/1c485514-1ae3-11e7-8907-efe6db0155fd.png)

## Installation

- Run `pip install django-inawrath-datetimepicker`
- Add `'datetimepicker'` to your `INSTALLED_APPS`

## Basic usage

Here is an example of how to use the widget.
Further examples can be found in the example project.

1. Assign the `DateTimePicker` to a `DateTimeField`, `DateField` or `TimeField`.

```python
from django import forms
from datetimepicker.widgets import DateTimePicker


class SampleForm(forms.Form):

datetime = forms.DateTimeField(
widget=DateTimePicker(),
)
```

This will render the following `html` code:
```html
<div class=" date input-group" id="datetimepicker_id_datetime">
<input class=" form-control" id="id_datetime" name="datetime" type="text" required/>
</div>
<script>(function () {
$(document).ready(function() {
$("#id_datetime").datetimepicker();
});
})(jQuery);
</script>
```

## Passing options to `jQuery.datetimepicker`

You can add `jQuery.datetimepicker` options according to your needs.
[See XDSoft's documentation for a full list of options.](http://xdsoft.net/jqplugins/datetimepicker/ "XDSoft's DateTimePicker documentation.")

```python
datetime = forms.DateTimeField(
widget=DateTimePicker(options={
'format': '%Y-%m-%d %H:%M',
'language': 'en-us',
}),
)
```

## Customization with template overloading

`django-datetimepicker` uses Django's own templating engine to render the field itself and the script tag needed to run it.
This allows to overload the templates to adapt the widget and javascript to your needs.

- [`datetimepicker/div.html`](https://github.com/escodebar/django-datetimepicker/blob/master/datetimepicker/templates/datetimepicker/div.html)
- [`datetimepicker/script.html`](https://github.com/escodebar/django-datetimepicker/blob/master/datetimepicker/templates/datetimepicker/div.html)
- [`datetimepicker/loader.js`](https://github.com/escodebar/django-datetimepicker/blob/master/datetimepicker/templates/datetimepicker/loader.js)

## Form javascript media

As seen in the basic example, a `<script>`-tag containing the logic to load the widget is rendered below the input field by default.
This can be prevented by setting the `script_tag` argument of the widget's initialiser.

```python
from django import forms
from datetimepicker.widgets import DateTimePicker


class SampleForm(forms.Form):

datetimepicker_without_script_tag = forms.DateTimeField(
widget=DateTimePicker(script_tag=False),
)
```

The javascript to initialise the widget can be provided as external file with the form media using the `js_loader_url` helper.
The media is added [dynamically](https://docs.djangoproject.com/en/dev/topics/forms/media/#media-as-a-dynamic-property).

```diff
from django import forms
+from datetimepicker.helpers import js_loader_url
from datetimepicker.widgets import DateTimePicker


class SampleForm(forms.Form):

datetimepicker_without_script_tag = forms.DateTimeField(
widget=DateTimePicker(script_tag=False),
)

+ @property
+ def media(self):
+ form_media = forms.Media(js=[
+ js_loader_url(
+ fields=self.fields,
+ input_ids=['id_datetimepicker_without_script_tag'],
+ ),
+ ])
+ return super(SampleForm, self).media + form_media
```

`js_loader_url` requires to include the `datetimepicker.urls` to your `urls.py`.

```diff
urlpatterns = [
...
+ url(r'^datetimepicker/', include('datetimepicker.urls')),
...
]
```

Release files for django-inawrath-datetimepicker 3.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-inawrath-datetimepicker 3.0.1
File Size Uploaded
django-inawrath-datetimepicker-3.0.1.tar.gz 9.3 kB Details

Release files / django-inawrath-datetimepicker-3.0.1.tar.gz

Download URL django-inawrath-datetimepicker-3.0.1.tar.gz
Size 9.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4ae976450d581f6260f050b898e45798501b908e5aba0087dbc4dd9bc969a06b
BLAKE2b-256 checksum
How to use checksums
400d5379bdf3eafe9d2eefc12a379a8b0f8777ed081d2949a713d045f01175dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

Release history Release notifications | RSS feed

This release

3.0.1 This release

1 release file

3.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page