如何在Django中更改表单设计

时间:2016-01-11 16:19:56

标签: python django forms django-forms

是否可以更改formDjango的设计?我已经创建了一个form扩展UserCreationForm,因为我希望user添加更多数据。

它工作正常,但非常难看。我已经在我的模板中将form.as_p更改为form.as_ul,这有点帮助,但正如您所看到的那样,它不是应该的样子。

enter image description here

让我们说我希望例如将每个标签放在其下方输入或将标签放在像facebook这样的输入窗口中: enter image description here

我怎么能在Django中做这些事情?

我的代码:

TEMPLATE:

{% extends 'base.html' %}
{% block content %}
    <form action="" method="post">{% csrf_token %}
        {{ form.as_ul }}
        <input type="submit" value="Create the account">
    </form>
{% enblock %}

FORM:

class UserCreationFormExtended(UserCreationForm):
    first_name = forms.CharField(required=True)
    last_name = forms.CharField(required=True)
    email = forms.EmailField(required=True)

1 个答案:

答案 0 :(得分:0)

我认为你所寻找的是这样的:

class UserCreationFormExtended(UserCreationForm):
    first_name = forms.CharField(required=True)
    last_name = forms.CharField(required=True)
    email = forms.EmailField(required=True)

    class Meta:
         widgets = {
            'first_name': forms.TextInput(attrs={'class': 'form-control'}), # or whatever class you want to apply
            # and so on
         }