Tôi đang cố gắng sử dụng email cho tên người dùng và làm cho nó hoạt động gần như hoàn hảo. Tôi đã làm theo các hướng dẫn sau: http://www.micahcarrick.com/django-email-authentication.htmlBuộc Biểu mẫu đăng nhập Django để có tên người dùng trên 30 ký tự
Vấn đề là, biểu mẫu đăng nhập của tôi vẫn đang ném lỗi cho biết tên người dùng chỉ có thể là 30 ký tự. Tôi đã thay đổi hình thức đầu vào để chấp nhận 75 ký tự và bảng cơ sở dữ liệu là tốt. Nhưng một cái gì đó trong Django vẫn đang ngăn chặn điều này.
Bất kỳ ý tưởng nào?
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: Chính xác trong bản sửa đổi 'Biểu mẫu' bạn đang sử dụng là gì? Vui lòng ** cập nhật ** câu hỏi để bao gồm lớp Biểu mẫu. Có phương pháp 'sạch' nào sẽ cắt ngắn đầu vào? –
Chỉ cần kiểm tra, bạn đã thay đổi độ dài trường của tên người dùng trong django.contrib.auth.models.User từ 30 đến 75, sau đó thả bảng auth cũ từ db, lấy SQL tươi để tạo bảng auth bằng cách chạy quản lý. py sqlall, và thực hiện câu lệnh SQL này để tạo bảng mới với độ dài trường được cập nhật? –