django表单下拉列表中的数字

kri*_*itx 24 python linux django

我是django的新手,我想制作一个简单的表格,根据我可以使用django的表格模块制作表格的文档

from django import forms

class CronForm(forms.Form):
    name = forms.CharField(max_length=100)
    email = forms.EmailField(required=False, label='Your e-mail address')
    message = forms.CharField(widget=forms.Textarea)

    def clean_message(self):
        message = self.cleaned_data['message']
        num_words = len(message.split())
        if num_words < 4:
            raise forms.ValidationError("Not enough words!")
        return message
Run Code Online (Sandbox Code Playgroud)

我想知道的是如何创建一个月的下拉列表,即从1到31?

有些人在他们的表单模板中使用javascript完成它,可以在django中完成吗?

Yuj*_*ita 53

你正在寻找一个默认情况下ChoiceField渲染为selecthtml元素的东西. https://docs.djangoproject.com/en/dev/ref/forms/fields/#choicefield

class CronForm(forms.Form):
    days = forms.ChoiceField(choices=[(x, x) for x in range(1, 32)])
Run Code Online (Sandbox Code Playgroud)

  • 当然,只需将其添加到列表中:)`choices = [("*","Every")] + [(x,x)for x in range(1,32)]` (4认同)