我正在嘗試使用電子郵件獲取用戶名,並且幾乎完美地實現了它。我遵循這些方向:http://www.micahcarrick.com/django-email-authentication.html強制Django登錄表單接受超過30個字符的用戶名
問題是,我的登錄表單仍然拋出一個錯誤,說用戶名只能是30個字符。我已將輸入表單更改爲接受75個字符和數據庫表。但是Django中的某些東西仍然阻止了這一點。
任何想法?
UPDATE:
<form method="post" action="." class="full">
{% csrf_token %}
<ul>
{% if form.non_field_errors %}<li>{{ form.non_field_errors }}</li>{% endif %}
<li>
{{ form.username.errors }}
<label for="id_username">Email/Username</label>
<input type="text" id="id_username" name="username" maxlength="75">
</li>
<li>
{{ form.password.errors }}
<label for="id_password">{{ form.password.label }}</label>
{{ form.password }}
</li>
</ul>
<input type="submit" value="Login">
<a href="{% url django.contrib.auth.views.password_reset %}">Forgot your password?</a>
</form>
@Brenden:究竟是在修訂後的'什麼Form'你使用?請**更新**問題以包含表格課程。有沒有一種乾淨的方法可以截斷長輸入? –
爲了檢查,您是否將django.contrib.auth.models.User中的用戶名字段長度從30更改爲75,然後從數據庫中刪除舊的驗證表,通過運行manage獲取新鮮的SQL以創建驗證表。 py sqlall,並執行此SQL以創建具有更新字段長度的新表? –