一个django应用程序,为分割的datetime/time和pytz时区对象提供数据库和表单字段。
django-datetimezone-field的Python项目详细描述
一个django应用程序,为分割的datetime/time和pytz时区对象提供数据库和表单字段。
- 用
SplitDateTimeTimeZoneField
代替forms.DateTimeField
。 - 用
SplitTimeTimeZoneField
代替forms.TimeField
。
设置USE_TZ_FIELDS = True
将把所有admin.ModelAdmin
转换为对models.DateTimeField
使用SplitDateTimeTimeZoneField
,对models.TimeField
使用SplitTimeTimeZoneField
。
在settings.py
中需要USE_TZ = True
注
如果使用不支持时区感知时间的数据库,则模型窗体的初始值将始终在UTC时区中。
表单域
importpytzfromdjangoimporthttpfromdjangoimportformsfromdjango.utilsimporttimezonefromdjango.forms.utilimportto_current_timezonefromdjango.confimportsettingsfromdatetimezone_fieldimportSplitDateTimeTimeZoneField, \ SplitTimeTimeZoneFielddefindex(request):classMyForm(forms.Form):a_datetime=SplitDateTimeTimeZoneField()a_time=SplitTimeTimeZoneField()tz=pytz.timezone("Australia/Sydney")timezone.activate(tz)now=to_current_timezone(timezone.now()).replace(tzinfo=tz)my_form=MyForm(initial={'a_datetime':now,'a_time':now.time().replace(tzinfo=now.tzinfo)})returnhttp.HttpResponse(my_form.as_p())
安装
pip install django-datetimezone-field
将
timezone_field
和datetimezone_field
添加到settings.INSTALLED_APPS
INSTALLED_APPS=(...timezone_field,datetimezone_field,...)
运行示例项目
cd test/sample_project
virtualenv sample-env
source sample-env/bin/activate
pip install -r requirements.txt
python manage.py syncdb
python manage.py runserver
待办事项
- 单元测试
找到虫子了吗?
若要提交错误或修补程序,请转到django-datetimezone-field on github。