javascript - 在CSS中将CSS样式应用于表单项

标签 javascript css django django-templates django-staticfiles

我在forms.py中有以下表格

from django import forms
class LoginForm(forms.Form):
    username = forms.CharField()
    password = forms.CharField(label='Password', widget=forms.PasswordInput)

在我的templates / login.html文件中,我具有以下内容:
{% load staticfiles %}

<div>
     <form action="" method="post" style="">
            {% csrf_token %}
            {{ form.as_p }}
            <input type="submit" value="SignIn">
     </form>
</div>

我想为用户界面使用引导工具[http://getbootstrap.com/examples/signin/],为此我应该在login.html中加载一些js和CSS静态文件

当我仅使用模板标签{{ form.as_p }}获得表单时,如何将css效果应用于登录表单?

最佳答案

这很容易以基于类的形式进行。我的项目中的表单控制为css类的示例。

from django.forms import ModelForm, TextInput

class ServerForm(ModelForm):

    class Meta:
        model = Server
        fields = ['name', 'ip', 'port']
        widgets = {
            'name': TextInput(attrs={'class': 'form-control'}),
            'ip': TextInput(attrs={'class': "form-control"}),
            'port': TextInput(attrs={'class': 'form-control'}),
            }

然后,我拥有的模板如下所示:
{% for field in form %}
    <div class="form-group">
        {{ field.label_tag }} {{ field }}
    </div>
{% endfor %}

哪个产生
<form method="POST">
    <input type="hidden" name="csrfmiddlewaretoken" value="xxxxxx">
    <div class="form-group">
        <label for="id_name">Name:</label>
        <input class="form-control" id="id_name" maxlength="64" name="name" type="text">
    </div>
    <div class="form-group">
        <label for="id_ip">Ip:</label>
        <input class="form-control" id="id_ip" maxlength="20" name="ip" type="text">
    </div>
    <div class="form-group">
        <label for="id_port">Port:</label> <input class="form-control" id="id_port" name="port" type="text">
    </div>
    <div class="form-group">
        <button type="submit" class="save btn btn-default">Add/Edit Server</button>
    </div>
</form>

关键是Meta类的小部件字段。您可以在其中定义要使用的django.forms中的哪个小部件,然后可以定义所需的任何属性。在这里,我们使用“类”并将其参数设置为“表单控制”。您可以轻松替换所需的多个CSS类,即
'name': TextInput(attrs={'class': 'form-control xs my-other-css-class'}),

我经常将其与bootstrap一起使用,并且效果很好,只要您沿该行的某个位置导入bootstrap(从django-bootstrap插件或仅通过基本模板中的静态文件导入)

关于javascript - 在CSS中将CSS样式应用于表单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33763452/

相关文章:

javascript - 更改 Bootstrap 弹出窗口的属性

javascript - 我将 selenium webdriver 2.53.1 与 java 和 firefox 45.0.1 一起使用,并尝试使用隐藏类的 linktext(打开弹出窗口)登录

html - z-index 问题 - z-index 不能与相对和绝对 div 的组合一起使用

html - 作为背景的 Css 类

html - 用对 Angular 线创建盒子

python - 在 nGINX 上部署 Django 应用程序

javascript - 未包含在标签中的 url 的正则表达式

django - 经理不在;用户已被交换为 'pet.Person'

javascript - 在页面加载时加载时间戳并将其与表单提交时的时间戳进行比较

javascript - d3.forcesimulation() 链接距离