如何利用Django的Form类动态生成下拉列表
1个回答
推荐于2016-07-20
展开全部
view plaincopy to clipboardprint?
from django import newforms as forms
from models import Language
# I put this on all required fields, because it's easier to pick up
# on them with CSS or JavaScript if they have a class of "required"
# in the HTML. Your mileage may vary.
attrs_dict = { 'class': 'required' }
class AddSnippetForm(forms.Form):
"""
Form used for adding Snippets.
"""
def __init__(self, *args, **kwargs):
super(AddSnippetForm, self).__init__(*args, **kwargs)
self.fields['language'].choices = [('', '----------')] + [(lang.id, lang.name) for lang in Language.objects.all()]
title = forms.CharField(max_length=250, widget=forms.TextInput(attrs=attrs_dict))
description = forms.CharField(widget=forms.Textarea(attrs=attrs_dict))
code = forms.CharField(widget=forms.Textarea(attrs=attrs_dict))
tag_list = forms.CharField(max_length=250, widget=forms.TextInput(attrs=attrs_dict))
language = forms.ChoiceField(choices=(), widget=forms.Select(attrs=attrs_dict))
from django import newforms as forms
from models import Language
# I put this on all required fields, because it's easier to pick up
# on them with CSS or JavaScript if they have a class of "required"
# in the HTML. Your mileage may vary.
attrs_dict = { 'class': 'required' }
class AddSnippetForm(forms.Form):
"""
Form used for adding Snippets.
"""
def __init__(self, *args, **kwargs):
super(AddSnippetForm, self).__init__(*args, **kwargs)
self.fields['language'].choices = [('', '----------')] + [(lang.id, lang.name) for lang in Language.objects.all()]
title = forms.CharField(max_length=250, widget=forms.TextInput(attrs=attrs_dict))
description = forms.CharField(widget=forms.Textarea(attrs=attrs_dict))
code = forms.CharField(widget=forms.Textarea(attrs=attrs_dict))
tag_list = forms.CharField(max_length=250, widget=forms.TextInput(attrs=attrs_dict))
language = forms.ChoiceField(choices=(), widget=forms.Select(attrs=attrs_dict))
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询