如何覆盖django AuthenticationForm输入css类?

Rya*_*ery 6 forms authentication django

我有一个使用基本django注册框架的django站点.我的登录页面工作正常,但我想更改输入上的css类.传递给登录页面的表单看起来是AuthenticationForm类.

将css类添加到用户名和密码字段的好方法是什么?

Vic*_*ral 9

子类您的身份验证表单

forms.py

from django import forms
from django.contrib.auth.forms import AuthenticationForm
from django.forms.widgets import PasswordInput, TextInput

class RFPAuthForm(AuthenticationForm):
    username = forms.CharField(widget=TextInput(attrs={'class': 'span2','placeholder': 'Email'}))
    password = forms.CharField(widget=PasswordInput(attrs={'class': 'span2','placeholder':'Password'}))
Run Code Online (Sandbox Code Playgroud)


pan*_*ore 5

我做你想这样的事情:

def login(request):
    form = AuthenticationForm(request)
    form.fields['username'].widget.attrs['class'] = "custom_css"
    form.fields['password'].widget.attrs['style'] = "background:red"
    return render_to_response("login.html", {'form':form},
                          context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

  • 2.您可以扩展auth表单并覆盖init方法以放置attrs。 (3认同)