authentication by email
Hello, In the past hour, I did some research on authenticating by email and I believe Django users would benefit a lot if email authentication was included in contrib.auth . Many people have been working on it, and the latest code I could find is here: https://gist.github.com/586056. I am not a very good Googler, so there may be better patches. Anyway, there are several problems to solve besides this: 1. the default AuthenticationForm does not accept usernames longer than 30 characters 2. UserCreationForm and possibly the UserChangeForm need to have Email counterparts or become more flexible 3. User emails should be unique. My first thought is to add a unique constraint depending on an optional AUTHENTICATE_BY_EMAIL setting which defaults to False. I find this problem the hardest to solve. I am really open to any suggestions, so please do. Luke Plant, Julien Phalip, I know you have looked into this before and I am really hoping you can share your thoughts as well. https://gist.github.com/586056: from django.contrib.auth.backends import ModelBackend from django.contrib.auth.models import User class EmailBackend(ModelBackend): def authenticate(self, **credentials): if 'username' in credentials: return super(EmailBackend, self).authenticate(**credentials) try: user = User.objects.get(email=credentials.get('email')) if user.check_password(credentials.get('password')): return user except User.DoesNotExist: return None -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.
Re: Suppressed template errors in admin
On 25 Aug., 01:39, Russell Keith-Magee wrote: > On principle, I have no objection to the idea of making the admin > templates more robust in the presence of TEMPLATE_STRING_IF_INVALID; > adding dummy values in the context sounds like a reasonable approach > -- *if* doing this doesn't undermine broader error handling in the > templates. Yeah, sure. I don't think this is a big problem, a couple of places tops. Thanks for considering this! I'm checking out the SVN release right now, but actually the one that I've been bitten by so far has a patch here (patch against current trunk below): https://code.djangoproject.com/ticket/12136 Note that this was merged into a monster bug that had worse patches (as far as I can tell), adding if-tags in the templates, and depressingly never went anywhere. Ole Index: django/contrib/admin/templatetags/admin_list.py === --- django/contrib/admin/templatetags/admin_list.py (revision 16696) +++ django/contrib/admin/templatetags/admin_list.py (working copy) @@ -102,7 +102,10 @@ admin_order_field = getattr(attr, "admin_order_field", None) if not admin_order_field: # Not sortable -yield {"text": text} +yield { +"text": text, +"class_attrib": "" +} continue # OK, it is sortable if we got this far -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.
Re: Suppressed template errors in admin
On 25 Aug., 06:19, h3 wrote: > I'm not sure suppressing templates errors for the admin is such a > great idea. The suggestion on the table is to fix the couple of places where admin is sloppy and doesn't include all the variables it uses in the context. Normally you don't see this because this kind of error is suppressed by Django. However, if you turn on TEMPLATE_STRING_IF_INVALID, they show up and break the markup, e.g. the column headers in the overview table. Ole -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.