Exemple #1
0
def registration(request):
    cache.clear()
    if request.user.is_authenticated():
        return redirect('/')

    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            try:
                user_pk = form.save(request.FILES.get('avatar'))
                admins = User.objects.filter(is_superuser=True)
                msg = EmailMessage(
                    u'Новый пользователь %s' % request.POST['username'],
                    (u'<html>'
                    u'<meta http-equiv="Content-Type" content="text/html; '
                    u'charset=UTF-8"><body>'
                    u'Зарегистрировался новый пользователь '
                    u'<a href="http://%s/admin/auth/user/%i">%s</a>'
                    u'<br />'
                    u'Данные:<br /><ul>%s</ul>'
                    u'</body></html>') % (settings.HOSTNAME, user_pk,
                                          request.POST['username'], form.as_ul()),
                    u'admin@%s' % settings.HOSTNAME,
                    [a.email for a in admins]
                )
                msg.content_subtype = "html"
                msg.send()
                return redirect(reverse('registration-thanks'))
            except ValidationError:
                pass
    else:
        form = RegistrationForm()

    return render(request, 'registration/registration.html', {'form': form})