Ich fühle mich ziemlich dumm, das zu fragen, aber ich werde es trotzdem tun. Die API-Referenz "Users" in der Django-Dokumentation "User authentication in Django" (v. 1.4) besagt, dass ein Benutzername nur Buchstaben, Ziffern und die Zeichen @, +,., - und _ enthalten darf. Dennoch kann ich die Python-Shell gehen und wie folgt vorgehen:Warum erlaubt models.User ungültige Zeichen in Benutzername?
>>> from django.contrib.auth.models import User
>>> u = User.objects.create_user('joe#')
Warum nicht diese eine Ausnahme ausgelöst? Ich habe mir den Quellcode in ../contrib/auth/models.py angeschaut und er scheint keine ungültigen Zeichen zu kennzeichnen. Was ist denn hier los? Wenn Sie einen fehlerhaften Benutzernamen abfangen möchten, müssen Sie dies über die Formularvalidierung tun.
Ich sehe. Vielen Dank, Raunak! – William
Enthält der Regex-Ausdruck in Ihrem Code den Unterstrich? – Fydo
Denken Sie nicht, dass es eine gute Idee für sie ist, da es Inkonsistenz erzeugt. Siehe [diese Ausgabe] (https://github.com/pennersr/django-allauth/issues/1321) –