我想通过在右侧边栏添加Jquery UI -Jquery Datepicker来自定义我的管理站点,或者在单击输入框时显示日历。
日历用于挑选过滤我需要的数据的日子。任何帮助或想法将不胜感激。
admin.py
class DecadeBornListFilter(admin.SimpleListFilter):
title = _('Years')
parameter_name = 'decade'
def lookups(self, request, model_admin):
return (
('2015', _('2015')),
('2014', _('2014')),
('2013', _('2013')),
)
def queryset(self, request, queryset):
if self.value() == '2015':
return queryset.filter(pub_date__gte=date(2015, 1, 1),pub_date__lte=date(2015, 12, 31))
if self.value() == '2013':
return queryset.filter(pub_date__gte=date(2013, 1, 1),pub_date__lte=date(2013, 12, 31))
if self.value() == '2014':
return queryset.filter(pub_date__gte=date(2014, 1, 1),pub_date__lte=date(2014, 12, 31))
class WaterMapAdmin(admin.ModelAdmin):
list_display=('pub_date','status','position','na','mei')
list_filter=('pub_date',DecadeBornListFilter)
search_fields = ['status']
admin.site.register(WaterMap,WaterMapAdmin)
models.py
class WaterMap(models.Model):
pub_date = models.DateTimeField('发布日期')
status=models.CharField('状态',max_length=10)
position=models.IntegerField('位置')
na=models.FloatField('纳',default=0.00)
mei=models.FloatField('镁',default=0.00)
def __unicode__(self):
return str(self.pub_date)[:10]
答案 0 :(得分:0)
当您使用Django在模板上实现表单时,它是这样的:
{% for field in form.fields %}
<div>
{{field}
</div>
{% endfor %}
要使用Datepicker,您需要在输入中输入一个id:
<input id="datepicker" ...>
所以你可以在form.py中写这个:
status= forms.CharField('状态', max_length=10, widget=forms.TextInput(attrs={'id':'id for datepicker'}))