{
"info": {
"author": "Chris Franklin",
"author_email": "chris@hairy.io",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Environment :: Web Environment",
"Framework :: Django",
"Framework :: Django :: 1.10",
"Framework :: Django :: 1.8",
"Framework :: Django :: 1.9",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.4",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content"
],
"description": "CUser, make email the USERNAME\\_FIELD\n=====================================\n\nCUser makes it easy to use email address as your identification token\ninstead of a username.\n\nCUser is a custom Django user model (extends ``AbstractBaseUser``) so it\ntakes a tiny amount of effort to use.\n\nThe only difference between CUser and the vanilla Django ``User`` is email\naddress is the ``USERNAME_FIELD`` (and username does not exist).\n\nCUser supports Django 1.8+\n\nWhy use CUser?\n--------------\n\nBecause you want everything in ``django.contrib.auth`` except for the\n``username`` field and you also want users to **log in with email addresses**.\nAnd you don't want to create your own custom user model or authentication\nbackend.\n\nInstall & Set up\n----------------\n\n0. If you previously used Django's default user model,\n ``django.contrib.auth.models.User``, jump to **Notes** first (then come\n back). Otherwise, continue onward!\n\n1. Install with ``pip install django-username-email-fullname``\n\n2. Add ``cuser`` to your ``INSTALLED_APPS`` setting:\n\n .. code-block:: python\n\n INSTALLED_APPS = [\n ...\n 'cuser',\n ]\n\n3. Specify the custom model as the default user model for your project\n using the ``AUTH_USER_MODEL`` setting in your settings.py:\n\n .. code-block:: python\n\n AUTH_USER_MODEL = 'cuser.CUser'\n\n4. Instead of referring to User directly, you should reference the user\n model using ``django.contrib.auth.get_user_model()``\n\n5. If you use Django's default ``AuthenticationForm`` class, it is\n strongly recommended that you replace it with the one included with\n CUser. This will make the ```` have its ``type`` attribute set\n to ``email`` and browsers' autocomplete feature will suggest email\n addresses instead of usernames. For example, if your project is using\n Django's default ``login`` view, this is what you would put in your\n urls.py in order to make use of CUser's ``AuthenticationForm`` class:\n\n .. code-block:: python\n\n from cuser.forms import AuthenticationForm\n from django.conf.urls import include, url\n from django.contrib.auth.views import login\n\n urlpatterns = [\n url(r'^accounts/login/$', login, {'authentication_form': AuthenticationForm}, name='login'),\n url(r'^accounts/', include('django.contrib.auth.urls')),\n ...\n ]\n\n6. Run migrations.\n\n .. code-block:: shell\n\n python manage.py migrate\n\nConfiguration\n-------------\n\nTo override any of the default settings, create a dictionary named ``CUSER`` in\nyour settings.py with each setting you want to override. For example:\n\n.. code-block:: python\n\n CUSER = {\n 'app_verbose_name': 'Authentication and Authorization',\n 'register_proxy_auth_group_model': True,\n }\n\nThese are the settings:\n\n``app_verbose_name`` (default: ``_(\"Custom User\")``)\n****************************************************\n\nThis controls the value that CUser will use for its ``AppConfig`` class'\n``verbose_name``.\n\n``register_proxy_auth_group_model`` (default: ``False``)\n********************************************************\n\nWhen set to ``True``, CUser's admin.py will unregister Django's default\n``Group`` model and register its own proxy model of Django's default ``Group``\nmodel (also named ``Group``). This is useful if you want Django's default\n``Group`` model to appear in the same part of the admin as CUser's ``CUser``\nmodel.\n\nNotes\n-----\n\nIf you have tables referencing Django's ``User`` model, you will have to\ndelete those table and migrations, then re-migrate. This will ensure\neverything is set up correctly from the beginning.\n\nWhen you define a foreign key or many-to-many relations to the ``User``\nmodel, you should specify the custom model using the ``AUTH_USER_MODEL``\nsetting.\n\nFor example:\n\n.. code-block:: python\n\n from django.conf import settings\n from django.db import models\n\n class Profile(models.Model):\n user = models.ForeignKey(\n settings.AUTH_USER_MODEL,\n on_delete=models.CASCADE,\n )\n\nLicense\n-------\n\nReleased under the MIT license. See LICENSE for details.\n\nQuestions, comments, or anything else?\n--------------------------------------\n\n- Open an issue\n- `Twitter `__\n- tom@meagher.co",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/hairychris/django-username-email-fullname/",
"keywords": "user email username fullname",
"license": "MIT",
"maintainer": null,
"maintainer_email": null,
"name": "django-username-email-fullname",
"package_url": "https://pypi.org/project/django-username-email-fullname/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/django-username-email-fullname/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/hairychris/django-username-email-fullname/"
},
"release_url": "https://pypi.org/project/django-username-email-fullname/2.0.3/",
"requires_dist": null,
"requires_python": null,
"summary": "Custom Django User model that makes email the USERNAME_FIELD.",
"version": "2.0.3"
},
"last_serial": 2649470,
"releases": {
"2.0": [
{
"comment_text": "",
"digests": {
"md5": "db6cfdcec4c3987f7487911c0d121f45",
"sha256": "9180a4eba28591a4fe61b7920a6bcf2816cbd8e403a18c898307fee0e465ac33"
},
"downloads": -1,
"filename": "django-username-email-fullname-2.0.tar.gz",
"has_sig": false,
"md5_digest": "db6cfdcec4c3987f7487911c0d121f45",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8254,
"upload_time": "2017-02-06T01:18:04",
"url": "https://files.pythonhosted.org/packages/54/10/fdd05125a5137e6e6474a18b11051f0329652afb91dfe93b583ca301b914/django-username-email-fullname-2.0.tar.gz"
}
],
"2.0.1": [
{
"comment_text": "",
"digests": {
"md5": "95680154849133d81ffbbda415fd5279",
"sha256": "51673090b73f1bf33f3667d403837d57ecfbd341d8c0dcc02abb37c1fa0b5297"
},
"downloads": -1,
"filename": "django-username-email-fullname-2.0.1.tar.gz",
"has_sig": false,
"md5_digest": "95680154849133d81ffbbda415fd5279",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8267,
"upload_time": "2017-02-06T02:52:32",
"url": "https://files.pythonhosted.org/packages/2d/94/1917a99a497f5e9c4e5f92f3374866ab35e00f0eddddb209c43aa8691e93/django-username-email-fullname-2.0.1.tar.gz"
}
],
"2.0.3": [
{
"comment_text": "",
"digests": {
"md5": "e426713f699d87dd3ed6419b13594dbc",
"sha256": "950292b66caa05e2d97401d1038f29d55a8e2e3bbc626680c26efaff0a6e527f"
},
"downloads": -1,
"filename": "django-username-email-fullname-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "e426713f699d87dd3ed6419b13594dbc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8543,
"upload_time": "2017-02-17T13:02:02",
"url": "https://files.pythonhosted.org/packages/b2/43/28a84ff419ef2d45a493e221b4663dd1486467d9132d14c79054c35a27d0/django-username-email-fullname-2.0.3.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "e426713f699d87dd3ed6419b13594dbc",
"sha256": "950292b66caa05e2d97401d1038f29d55a8e2e3bbc626680c26efaff0a6e527f"
},
"downloads": -1,
"filename": "django-username-email-fullname-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "e426713f699d87dd3ed6419b13594dbc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8543,
"upload_time": "2017-02-17T13:02:02",
"url": "https://files.pythonhosted.org/packages/b2/43/28a84ff419ef2d45a493e221b4663dd1486467d9132d14c79054c35a27d0/django-username-email-fullname-2.0.3.tar.gz"
}
]
}