如何自定义django.contrib.auth.views.login表单

时间:2015-03-25 14:39:36

标签: django django-forms

我的网址是

`url(r'^login/', 'django.contrib.auth.views.login'),`

在我的login.html模板中,我正在使用

  <form method="post" action=".">
    {% csrf_token %}

    <p>
      <label for="id_username">Username:</label>
      {{ form.username }}
    </p>
    <p>
      <label for="id_password">Password:</label>
      {{ form.password }}
    </p>
    {% if next %}
      <input type="hidden" name="next" value="{{ next }}" />
    {% else %}
      <input type="hidden" name="next" value="/" />
    {% endif %}
    <input type="submit" value="Login"/>
  </form>

现在我想使用占位符而不是标签。我怎样才能做到这一点。并且还想要自定义外观和感觉与引导程序。请帮助我怎么做。

2 个答案:

答案 0 :(得分:2)

<form>
  <div class="form-group">
    {{ form.username }}
  </div>
  <div class="form-group">
    {{ form.password }}
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>

您可以使用django表单编辑占位符:

username = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Username', 'class': 'form-input'}))

然后使用css应用样式:

::-webkit-input-placeholder { color:#f00; }
::-moz-placeholder { color:#f00; } /* firefox 19+ */
:-ms-input-placeholder { color:#f00; } /* ie */
input:-moz-placeholder { color:#f00; }

答案 1 :(得分:1)

这可以使用django包widget_tweaks在模板中轻松完成。

所以你的代码看起来像是:

<form>
  <div class="form-group">
    {% render_field form.username placeholder="<your text>" %}
  </div>
  <div class="form-group">
    {% render_field form.password placeholder="<your text>" %}
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>

有关详情,请参阅页面https://pypi.python.org/pypi/django-widget-tweaks