标签:datefield calendar django-admin javascript django
在django管理面板中,我目前有一个DateField,显示了一个漂亮的Javascript日历用于输入日期.但是,我只对月份和年份感兴趣.所以我想知道日历是否只能显示月份和年份. (如果您可以限制其用途,那么额外的布朗尼蛋糕将使您无法输入将来的日期.)
有人提出了类似的问题,但没有回答here.
解决方法:
最简单的方法(也是最正确的方法,因为您只关心月份和年份)是将模型字段分为两个字段:月份和年份.并存储它.
因此,您不必:
class Blah(models.Model):
...
your_date = models.DateField()
你将会拥有:
class Blah(models.Model):
MONTH_CHOICES=((1,"January"), (2,"February"), ...)
...
your_year = models.IntegerField()
your_month = models.IntegerField(choices=MONTH_CHOICES)
而且,您可以在clean()方法中实现限制未来几年甚至未来几个月(年/月组合)所需的任何逻辑.
编辑:我在上面的括号中说的最正确,因为您确实没有要存储的日期.您将不得不决定存储所选月份/年份中的第一个,最后一个或任意任意一天.
第二次编辑:就选择一年中一个月的javascript而言,是there is this(请参阅该页面中的“按月选择日历”示例). It is possible to add javascript to an admin page in Django并使用它,但是-正如我之前的编辑中所述-您必须选择要处理的日期.
标签:datefield,calendar,django-admin,javascript,django 来源: https://codeday.me/bug/20191024/1919045.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。