diff -r b68d3d8531d5 roundup/cgi/templating.py --- a/roundup/cgi/templating.py Wed Jul 10 10:35:29 2019 -0400 +++ b/roundup/cgi/templating.py Sat Apr 10 22:17:28 2021 -0400 @@ -1952,12 +1952,16 @@ else: offset = self._offset - if not self._value: - return '' - elif format is not self._marker: - return self._value.local(offset).pretty(format) - else: - return self._value.local(offset).pretty() + try: + if not self._value: + return '' + elif format is not self._marker: + return self._value.local(offset).pretty(format) + else: + return self._value.local(offset).pretty() + except AttributeError: + # not a date value, e.g. from unsaved form data + return str(self._value) def local(self, offset): """ Return the date/time as a local (timezone offset) date/time.