Mi sento piuttosto stupido per averlo chiesto, ma lo farò comunque. Il riferimento API 'Users' nella documentazione di Django "User authentication in Django" (v. 1.4) dice che un nome utente può contenere solo lettere, cifre e caratteri @, +,., - e _. Eppure posso entrare nella shell Python e fare il seguente:Perché model.User consente caratteri non validi nel nome utente?
>>> from django.contrib.auth.models import User
>>> u = User.objects.create_user('joe#')
Perché questo non fa sorgere un'eccezione? Ho guardato il codice sorgente in ../contrib/auth/models.py e non sembra che stia contrassegnando caratteri non validi. Cosa sta succedendo qui? Sembrerebbe che se si vuole catturare un nome utente errato, si dovrebbe farlo attraverso la convalida del modulo.
Vedo. Grazie mille, Raunak! – William
L'espressione regex nel codice include il carattere di sottolineatura? – Fydo
Non penso che sia una buona idea per loro poiché crea incoerenza. Vedi [questo problema] (https://github.com/pennersr/django-allauth/issues/1321) –