New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

django-datepick

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-datepick

A Django app to add date pickers

  • 0.1.2
  • PyPI
  • Socket score

Maintainers
1

======== Datepick

Django-datepick is a Django app to add a date, time and datetime pickers to your forms.

Install

Install the app with pip install django-datepick.

Usage with forms

Change the widget used in your forms.py to use the widgets included in this app::

from django import forms
from datepick import widgets

class MyForm(forms.Form):
    date_field = forms.DateField(widget=widgets.DateInput)
    datetime_field = forms.DateTimeField(widget=widgets.DateTimeInput)
    time_field = forms.TimeField(widget=widgets.TimeInput)

Usage with models

Change the field used in your models.py to use the fields from this app::

from django.db import models
from datepick import fields

class MyDateModel(models.Model):
    d = fields.DateField()
    dt = fields.DateTimeField()
    t = fields.TimeField()

Override the admin widget

Same as with any widget, register the model overriding the widget(s) in admin.py::

from datepick.widgets import DateInput, SplitDateTimeWidget, TimeInput

class MyDateModelAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.DateField: {"widget": DateInput},
        # DON'T models.DateTimeField: {"widget": DateTimeInput}
        models.DateTimeField: {"widget": SplitDateTimeWidget}
        models.TimeField: {"widget": TimeInput},
    }

DateTimeInput doesn't work in the admin, as it expects a multivalue field.

Why?

Each time you use a date field in Django, the form is a text input. Any frontend would like a datepicker of somekind. Turns out browsers and cellphones already have a datepicker. It looks like this in a browser:

.. image:: https://raw.githubusercontent.com/xbello/django-datepick/master/docs/Firefox_Date.png :width: 150px

.. image:: https://raw.githubusercontent.com/xbello/django-datepick/master/docs/Chromium_Date.png :width: 150px

.. image:: https://raw.githubusercontent.com/xbello/django-datepick/master/docs/Chromium_Video.gif :width: 150px

And looks like this in a cellphone:

.. image:: https://raw.githubusercontent.com/xbello/django-datepick/master/docs/Android_Date.jpg :width: 150px

.. image:: https://raw.githubusercontent.com/xbello/django-datepick/master/docs/Android_Time.jpg :width: 150px

.. image:: https://raw.githubusercontent.com/xbello/django-datepick/master/docs/Android_DateTime.jpg :width: 150px

It doesn't need Javascript or extra CSS.

More info:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc