django.forms生成HTML,如何利用Django的Form类动态生成下拉列表

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))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值