mirror of https://github.com/snachodog/mybuddy.git
30 lines
733 B
Python
30 lines
733 B
Python
import datetime
|
|
|
|
from django.forms import widgets
|
|
|
|
|
|
class DateTimeBaseInput(widgets.DateTimeBaseInput):
|
|
def format_value(self, value):
|
|
if isinstance(value, datetime.datetime):
|
|
value = value.isoformat()
|
|
return value
|
|
|
|
|
|
class DateTimeInput(DateTimeBaseInput):
|
|
input_type = "datetime-local"
|
|
|
|
def build_attrs(self, base_attrs, extra_attrs=None):
|
|
attrs = super().build_attrs(base_attrs, extra_attrs)
|
|
# Default to seconds granularity. Required for client validation in Safari.
|
|
if "step" not in attrs:
|
|
attrs["step"] = 1
|
|
return attrs
|
|
|
|
|
|
class DateInput(DateTimeBaseInput):
|
|
input_type = "date"
|
|
|
|
|
|
class TimeInput(DateTimeBaseInput):
|
|
input_type = "time"
|