class Event(models.Model):
day = models.DateField(blank=True, null=True)
period = models.IntegerField(choices=period_choices)
cart = models.CharField(choices=cart_choice, max_length=4)
is_reserved = models.BooleanField(default=False)
teacher = models.ForeignKey(User, blank=True, null=True)
class ReservationForm(ModelForm):
class Meta:
model = Event
fields = ('day', 'teacher', 'is_reserved', 'period', 'cart')
widgets = {'teacher': forms.HiddenInput(), 'is_reserved': forms.HiddenInput(), 'period': forms.HiddenInput(),
'cart': forms.HiddenInput(), 'day': forms.HiddenInput()}
我想获得一周中的某一天来排序事件。我应该可以使用Django的日期过滤器 - {% field.initial.day|day:"w" %}
来做到这一点 - 但这不会返回任何内容。
所以我写了一个模板标签:
@register.filter
def the_day(value):
return value.date().weekday()
home.html
{{ form.initial.day|the_day }}
不:'str'对象没有属性'date'
好吧,让我们使用dateparse
@register.filter
def the_day(value):
answer = parse_date(value)
return answer.weekday()
Nope:异常类型:/的TypeError 异常值:预期的字符串或类字节对象
任何想法在哪里看?
答案 0 :(得分:2)
您可以直接使用django's inbuilt date
修改强>
我猜你需要一周的工作日,
{{ form.initial.day|date:"w" }}
或者如果您想要工作日名称模板标签
{{ form.initial.day|date:"D" }}