Repository: imAsparky/django-cookiecutter

Issue:
[FEAT]: Add blocked usernames for dj-allauth ACCOUNT_USERNAME_BLACKLIST setting.
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]


**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.

Offensive or problematic words, where possible should be excluded for use as usernames.



Discussion:

Resolving patch:
diff --git a/{{cookiecutter.git_project_name}}/config/settings/base.py b/{{cookiecutter.git_project_name}}/config/settings/base.py
--- a/{{cookiecutter.git_project_name}}/config/settings/base.py
+++ b/{{cookiecutter.git_project_name}}/config/settings/base.py
@@ -12,6 +12,7 @@
 from pathlib import Path
 import os
 from django.utils.translation import ugettext_lazy as _
+from .username_blacklist import data as username_blacklist
 
 
 # Build paths inside the project like this: BASE_DIR / 'subdir'.
@@ -198,4 +199,4 @@
 ACCOUNT_LOGIN_ATTEMPTS_LIMIT = 5                 # Default dj-allauth
 ACCOUNT_USERNAME_REQUIRED = True                 # Default dj-allauth
 ACCOUNT_USERNAME_MIN_LENGTH = 3                  # Default dj-allauth == 1
-
+ACCOUNT_USERNAME_BLACKLIST = username_blacklist
diff --git a/{{cookiecutter.git_project_name}}/config/settings/username_blacklist.py b/{{cookiecutter.git_project_name}}/config/settings/username_blacklist.py
new file mode 100644
--- /dev/null
+++ b/{{cookiecutter.git_project_name}}/config/settings/username_blacklist.py
@@ -0,0 +1,556 @@
+"""A list of blocked user names"""
+
+# This list was generated by The-Big-Username-Blocklist VERSION=v2.0.1 (at 2021-02-13 10:53:03.852225)
+_data_1 = [
+    ".git",
+    ".htaccess",
+    ".htpasswd",
+    ".well-known",
+    "400",
+    "401",
+    "403",
+    "404",
+    "405",
+    "406",
+    "407",
+    "408",
+    "409",
+    "410",
+    "411",
+    "412",
+    "413",
+    "414",
+    "415",
+    "416",
+    "417",
+    "421",
+    "422",
+    "423",
+    "424",
+    "426",
+    "428",
+    "429",
+    "431",
+    "500",
+    "501",
+    "502",
+    "503",
+    "504",
+    "505",
+    "506",
+    "507",
+    "508",
+    "509",
+    "510",
+    "511",
+    "_domainkey",
+    "about",
+    "about-us",
+    "abuse",
+    "access",
+    "account",
+    "accounts",
+    "ad",
+    "add",
+    "admin",
+    "administration",
+    "administrator",
+    "ads",
+    "ads.txt",
+    "advertise",
+    "advertising",
+    "aes128-ctr",
+    "aes128-gcm",
+    "aes192-ctr",
+    "aes256-ctr",
+    "aes256-gcm",
+    "affiliate",
+    "affiliates",
+    "ajax",
+    "alert",
+    "alerts",
+    "alpha",
+    "amp",
+    "analytics",
+    "api",
+    "app",
+    "app-ads.txt",
+    "apps",
+    "asc",
+    "assets",
+    "atom",
+    "auth",
+    "authentication",
+    "authorize",
+    "autoconfig",
+    "autodiscover",
+    "avatar",
+    "backup",
+    "banner",
+    "banners",
+    "bbs",
+    "beta",
+    "billing",
+    "billings",
+    "blog",
+    "blogs",
+    "board",
+    "bookmark",
+    "bookmarks",
+    "broadcasthost",
+    "business",
+    "buy",
+    "cache",
+    "calendar",
+    "campaign",
+    "captcha",
+    "careers",
+    "cart",
+    "cas",
+    "categories",
+    "category",
+    "cdn",
+    "cgi",
+    "cgi-bin",
+    "chacha20-poly1305",
+    "change",
+    "channel",
+    "channels",
+    "chart",
+    "chat",
+    "checkout",
+    "clear",
+    "client",
+    "close",
+    "cloud",
+    "cms",
+    "com",
+    "comment",
+    "comments",
+    "community",
+    "compare",
+    "compose",
+    "config",
+    "connect",
+    "contact",
+    "contest",
+    "cookies",
+    "copy",
+    "copyright",
+    "count",
+    "cp",
+    "cpanel",
+    "create",
+    "crossdomain.xml",
+    "css",
+    "curve25519-sha256",
+    "customer",
+    "customers",
+    "customize",
+    "dashboard",
+    "db",
+    "deals",
+    "debug",
+    "delete",
+    "desc",
+    "destroy",
+    "dev",
+    "developer",
+    "developers",
+    "diffie-hellman-group-exchange-sha256",
+    "diffie-hellman-group14-sha1",
+    "disconnect",
+    "discuss",
+    "dns",
+    "dns0",
+    "dns1",
+    "dns2",
+    "dns3",
+    "dns4",
+    "docs",
+    "documentation",
+    "domain",
+    "download",
+    "downloads",
+    "downvote",
+    "draft",
+    "drop",
+    "ecdh-sha2-nistp256",
+    "ecdh-sha2-nistp384",
+    "ecdh-sha2-nistp521",
+    "edit",
+    "editor",
+    "email",
+    "enterprise",
+    "error",
+    "errors",
+    "event",
+    "events",
+    "example",
+    "exception",
+    "exit",
+    "explore",
+    "export",
+    "extensions",
+    "false",
+    "family",
+    "faq",
+    "faqs",
+    "favicon.ico",
+    "features",
+    "feed",
+    "feedback",
+    "feeds",
+    "file",
+    "files",
+    "filter",
+    "follow",
+    "follower",
+    "followers",
+    "following",
+    "fonts",
+    "forgot",
+    "forgot-password",
+    "forgotpassword",
+    "form",
+    "forms",
+    "forum",
+    "forums",
+    "friend",
+    "friends",
+    "ftp",
+    "get",
+    "git",
+    "go",
+    "graphql",
+    "group",
+    "groups",
+    "guest",
+    "guidelines",
+    "guides",
+    "head",
+    "header",
+    "help",
+    "hide",
+    "hmac-sha",
+    "hmac-sha1",
+    "hmac-sha1-etm",
+    "hmac-sha2-256",
+    "hmac-sha2-256-etm",
+    "hmac-sha2-512",
+    "hmac-sha2-512-etm",
+    "home",
+    "host",
+    "hosting",
+    "hostmaster",
+    "htpasswd",
+    "http",
+    "httpd",
+    "https",
+    "humans.txt",
+    "icons",
+    "images",
+    "imap",
+    "img",
+    "import",
+    "index",
+    "info",
+    "insert",
+    "investors",
+    "invitations",
+    "invite",
+    "invites",
+    "invoice",
+    "is",
+    "isatap",
+    "issues",
+    "it",
+    "jobs",
+    "join",
+    "js",
+    "json",
+    "keybase.txt",
+    "learn",
+    "legal",
+    "license",
+    "licensing",
+    "like",
+    "limit",
+    "live",
+    "load",
+    "local",
+    "localdomain",
+    "localhost",
+    "lock",
+    "login",
+    "logout",
+    "lost-password",
+    "m",
+    "mail",
+    "mail0",
+    "mail1",
+    "mail2",
+    "mail3",
+    "mail4",
+    "mail5",
+    "mail6",
+    "mail7",
+    "mail8",
+    "mail9",
+    "mailer-daemon",
+    "mailerdaemon",
+    "map",
+    "marketing",
+    "marketplace",
+    "master",
+    "me",
+    "media",
+    "member",
+    "members",
+    "message",
+    "messages",
+    "metrics",
+    "mis",
+    "mobile",
+    "moderator",
+    "modify",
+    "more",
+    "mx",
+    "mx1",
+    "my",
+    "net",
+    "network",
+    "new",
+    "news",
+    "newsletter",
+    "newsletters",
+    "next",
+    "nil",
+    "no-reply",
+    "nobody",
+    "noc",
+    "none",
+    "noreply",
+    "notification",
+    "notifications",
+    "ns",
+    "ns0",
+    "ns1",
+    "ns2",
+    "ns3",
+    "ns4",
+    "ns5",
+    "ns6",
+    "ns7",
+    "ns8",
+    "ns9",
+    "null",
+    "oauth",
+    "oauth2",
+    "offer",
+    "offers",
+    "online",
+    "openid",
+    "order",
+    "orders",
+    "overview",
+    "owa",
+    "owner",
+    "page",
+    "pages",
+    "partners",
+    "passwd",
+    "password",
+    "pay",
+    "payment",
+    "payments",
+    "paypal",
+    "photo",
+    "photos",
+    "pixel",
+    "plans",
+    "plugins",
+    "policies",
+    "policy",
+    "pop",
+    "pop3",
+    "popular",
+    "portal",
+    "portfolio",
+    "post",
+    "postfix",
+    "postmaster",
+    "poweruser",
+    "preferences",
+    "premium",
+    "press",
+    "previous",
+    "pricing",
+    "print",
+    "privacy",
+    "privacy-policy",
+    "private",
+    "prod",
+    "product",
+    "production",
+    "profile",
+    "profiles",
+    "project",
+    "projects",
+    "promo",
+    "public",
+    "purchase",
+    "put",
+    "quota",
+    "redirect",
+    "reduce",
+    "refund",
+    "refunds",
+    "register",
+    "registration",
+    "remove",
+    "replies",
+    "reply",
+    "report",
+    "request",
+    "request-password",
+    "reset",
+    "reset-password",
+    "response",
+    "return",
+    "returns",
+    "review",
+    "reviews",
+    "robots.txt",
+    "root",
+    "rootuser",
+    "rsa-sha2-2",
+    "rsa-sha2-512",
+    "rss",
+    "rules",
+    "sales",
+    "save",
+    "script",
+    "sdk",
+    "search",
+    "secure",
+    "security",
+    "select",
+    "services",
+    "session",
+    "sessions",
+    "settings",
+    "setup",
+    "share",
+    "shift",
+    "shop",
+    "signin",
+    "signup",
+    "site",
+    "sitemap",
+    "sites",
+    "smtp",
+    "sort",
+    "source",
+    "sql",
+    "ssh",
+    "ssh-rsa",
+    "ssl",
+    "ssladmin",
+    "ssladministrator",
+    "sslwebmaster",
+    "stage",
+    "staging",
+    "stat",
+    "static",
+    "statistics",
+    "stats",
+    "status",
+    "store",
+    "style",
+    "styles",
+    "stylesheet",
+    "stylesheets",
+    "subdomain",
+    "subscribe",
+    "sudo",
+    "super",
+    "superuser",
+    "support",
+    "survey",
+    "sync",
+    "sysadmin",
+    "sysadmin",
+    "system",
+    "tablet",
+    "tag",
+    "tags",
+    "team",
+    "telnet",
+    "terms",
+    "terms-of-use",
+    "test",
+    "testimonials",
+    "theme",
+    "themes",
+    "today",
+    "tools",
+    "topic",
+    "topics",
+    "tour",
+    "training",
+    "translate",
+    "translations",
+    "trending",
+    "trial",
+    "true",
+    "umac-128",
+    "umac-128-etm",
+    "umac-64",
+    "umac-64-etm",
+    "undefined",
+    "unfollow",
+    "unlike",
+    "unsubscribe",
+    "update",
+    "upgrade",
+    "usenet",
+    "user",
+    "username",
+    "users",
+    "uucp",
+    "var",
+    "verify",
+    "video",
+    "view",
+    "void",
+    "vote",
+    "vpn",
+    "webmail",
+    "webmaster",
+    "website",
+    "widget",
+    "widgets",
+    "wiki",
+    "wpad",
+    "write",
+    "www",
+    "www-data",
+    "www1",
+    "www2",
+    "www3",
+    "www4",
+    "you",
+    "yourname",
+    "yourusername",
+    "zlib",
+]
+
+# A list of offensive words to block from your usernames is available here
+# https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/blob/master/en
+# Add to _data_2 to extend your list of banned words.
+
+_data_2 = []
+
+
+data = _data_1 + _data_2
diff --git a/{{cookiecutter.git_project_name}}/{{cookiecutter.project_slug}}/urls.py b/{{cookiecutter.git_project_name}}/{{cookiecutter.project_slug}}/urls.py
--- a/{{cookiecutter.git_project_name}}/{{cookiecutter.project_slug}}/urls.py
+++ b/{{cookiecutter.git_project_name}}/{{cookiecutter.project_slug}}/urls.py
@@ -16,11 +16,13 @@
 from django.conf import settings
 from django.contrib import admin
 from django.urls import include, path
+from allauth import account
 
 urlpatterns = [
     path('admin/', admin.site.urls),
 {% if cookiecutter.use_django_allauth == "y" %}
     path('accounts/', include('allauth.urls')),
+    path('', account.views.LoginView.as_view(), name="login")
 {% endif %}
 ]
 


Test patch: