【问题标题】:How do I change input type of form field in django forms?如何更改 Django 表单中表单字段的输入类型?
【发布时间】:2023-01-19 00:00:32
【问题描述】:

我的 form.py 文件中有一个表单类,我在其中启动了表单字段的属性。我想将我的“描述”字段从输入字段更改为高度为 5 行的文本区域字段。还想将我的“截止日期”字段更改为日期输入字段,因为目前它是一个输入文本字段。

class JobPost_form(ModelForm):
class Meta:
    model = Job_post
    fields = "__all__"

def __init__(self, *args, **kwargs):
    self.fields['Job_role'].widget.attrs.update(
        {'class': 'form-control Password2', 'id': 'form3Example1c', 'placeholder': 'Job role'})
    self.fields['Company'].widget.attrs.update(
        {'class': 'form-control', 'id': 'form3Example1c', 'placeholder': 'Company'})
    self.fields['Deadline'].widget.attrs.update(
        {'class': 'form-control', 'id': 'form3Example1c', 'placeholder': 'YYYY-MM-DD HH:MM:SS'})
    self.fields['Description'].widget.attrs.update(
        {'class': 'form-control', 'id': 'form3Example1c', 'placeholder': 'Description'})

【问题讨论】:

    标签: django forms django-models django-forms


    【解决方案1】:

    我认为在你传递的代码中缺少一个表格,因为元和在里面将在类内:JobPost_form。至于将描述字段标记为文本区域,您应该这样做:

    class JobPost_form(ModelForm):
        description = forms.CharField(widget=forms.TextInput(attrs={"class": "form-control"}))
    
        class Meta:
            model = Job_post
            fields = "__all__"
    
        def __init__(self, *args, **kwargs):
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      • 1970-01-01
      • 2015-05-06
      • 1970-01-01
      • 2010-12-31
      • 2022-11-17
      • 2017-11-25
      相关资源
      最近更新 更多