我们从Python开源项目中,提取了以下2个代码示例,用于说明如何使用django.forms.widgets.SelectDateWidget()。
def post_widget_render(self, html): if isinstance(self.widget, RadioSelect): html = self.list_to_class(html, 'radio') elif isinstance(self.widget, CheckboxSelectMultiple): html = self.list_to_class(html, 'checkbox') elif isinstance(self.widget, SelectDateWidget): html = self.fix_date_select_input(html) elif isinstance(self.widget, ClearableFileInput): html = self.fix_clearable_file_input(html) elif isinstance(self.widget, CheckboxInput): html = self.put_inside_label(html) return html
def __init__(self, *args, **kwargs): veranstalter_queryset = kwargs.pop('all_veranstalter', None) super(VeranstaltungBasisdatenForm, self).__init__(*args, **kwargs) # Schränke QuerySet nur auf den Veranstalter ein self.fields['verantwortlich'].queryset = veranstalter_queryset self.fields['ergebnis_empfaenger'].queryset = veranstalter_queryset # Keine negative Anzahl möglich self.fields['anzahl'] = forms.IntegerField(min_value=1) # Nutze ein Widget bei dem nur das jahr des letzten Auswertungstermins angegeben werden kann years_tuple = kwargs['instance'].semester.auswertungstermin_years() self.fields['auswertungstermin'].widget = widgets.SelectDateWidget(years=years_tuple) # Auswertungstermin kann nur gewählt werden wenn es ein Seminar oder Praktikum ist if kwargs['instance'].typ not in ['se', 'pr']: del self.fields['auswertungstermin'] # Lösche die Auswahl ob es eine Übung gibt wenn es keine Vorlesung ist vltypes = ['vu', 'v'] if kwargs['instance'].typ not in vltypes: del self.fields['typ'] else: choices = [] for cur in self.fields['typ'].choices: if cur[0] in vltypes: choices.append(cur) self.fields['typ'].choices = choices # Wenn Evaluation oder Vollerhebung, dann sind alle anderen Felder notwendig for k, field in list(self.fields.items()): field.required = True