css – Django样式登录表单并添加额外的跨度

前端之家收集整理的这篇文章主要介绍了css – Django样式登录表单并添加额外的跨度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在形式造型方面有两个问题.

>对于我的登录,我使用Django的默认身份验证功能,并且没有手动编写任何视图或表单.

urls.py

urlpatterns += patterns(
    'django.contrib.auth.views',url(r'^login/$','login',{'template_name':'login.html'},name='qna_login'),url(r'^logout/$','logout',{'next_page':'qna_home'},name='qna_logout'),)

的login.html

{% extends "base.html" %}
{% block content%}
{% if form.errors %}
<p class="text-warning"> Your username and/or password didn't match </p>
{% endif%}
<form role="form" class="form-horizontal" method="post" action="{% url 'django.contrib.auth.views.login' %}">
<div class="form-group">
{% csrf_token %}
{{ form }}
<input type="submit" class="btn btn-primary" value="login" />
<input type="hidden" name="next" value="{{ next }}" />
</div>
</form>
{% endblock %}

如何为其添加引导程序样式?

>对于新用户注册,我添加了一些引导程序特定样式,但需要添加额外的跨度并用Glyphicons替换标签.

forms.py

class UserForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput())
    class Meta:
        model = User
        fields = ('username','email','password')
    def __init__(self,*args,**kwargs):
        super(UserForm,self).__init__(*args,**kwargs)
        self.fields['username'].widget.attrs.update({'class':'form-control','placeholder':'Username'})
        self.fields['email'].widget.attrs.update({'class':'form-control','placeholder':'Email'})
        self.fields['password'].widget.attrs.update({'class':'form-control','placeholder':'Password'})

我需要做的是替换模板中生成内容,例如

<p><label for="id_username">Username:</label> <input class="form-control" id="id_username" maxlength="30" name="username" placeholder="Username" type="text" /> <span class="helptext">required. 30 characters or fewer. Letters,numbers and @/./+/-/_ characters</span></p>

通过自定义bootstrap插件和glyphicon,如

<div class="input-group">
            <span class="input-group-addon" style="background-color:#b77b48; color:white"><span class="glyphicon glyphicon-user"></span></span>
            <input type="text" class="form-control" placeholder="Username">
        </div>

解决方法

您可以单独渲染每个字段,而不是让Django使用{{form}}渲染整个表单.你可以写这样的模板 –
<form role="form" class="form-horizontal" method="post" action="{% url 'django.contrib.auth.views.login' %}">{% csrf_token %}
    <div class="form-group">
        {% for field in form %}
            <div class="input-group">
                <span class="input-group-addon" style="background-color:#b77b48; color:white"><span class="glyphicon glyphicon-user"></span></span>
                <input class="form-control" id="{{ field.id_for_label }}" maxlength="30" name="{{ field.html_name }}" value="{{ field.value }}" type="text" /> 
                {{ field.errors }}
            </div>
        {% endfor %}
        <input type="submit" class="btn btn-primary" value="login" />
        <input type="hidden" name="next" value="{{ next }}" />
    </div>
</form>

像往常一样,Django documentation has everything.

原文链接:https://www.f2er.com/css/217869.html

猜你在找的CSS相关文章