I'm trying to use django-registration in my simple project.
# DJANGO REGISTRATION
ACCOUNT_ACTIVATION_DAYS = 7
AUTH_USER_EMAIL_UNIQUE = True
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = '[email protected]'
url(r'^accounts/', include('registration.backends.hmac.urls')),
{% extends "index.html" %}
{% block content %}
<h1>Registration</h1>
<form method="post" action="">
{% csrf_token %}
<dl class="register">
{% for field in form %}
<dt>{{ field.label_tag }}</dt>
<dd class="clearfix">{{ field }}
{% if field.help_text %}<div class="clearfix">{{ field.help_text }}</div>{% endif %}
{% if field.errors %}<div class="myerrors clearfix">{{ field.errors }}</div>{% endif %}
</dd>
{% endfor %}
</dl>
<input type="submit" value="Sign Up" class="clearfix">
</form>
{% endblock %}
When I going to register new user, I get an error:
Django Version: 1.9c1
Exception Type: IntegrityError
Exception Value: (1048, "Column 'last_login' cannot be null")
I don't use 'CustomUser' model.
Make sure you have run all the migrations for the auth app. There is a migration 0005_alter_user_last_login_null.py
that makes the last_login
field optional.
Go to your database (MySQL Terminal):
$ mysql
mysql> SELECT * FROM django_migrations;
If you see some records, good. Delete them.
mysql> TRUNCATE TABLE django_migrations;
Leave MySQL terminal, and run the migrations again in django:
$ python manage.py migrate --fake-initial
Make sure this message appears:
0005_alter_user_last_login_null - [OK]
then you might see some other conflicts, that is fine because we only need to make this migration.
Restart your MySQL and Server and you're good to go.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With