Вы можете использовать loadsh для выполнения операций над объектами и массивами json.
Это случай сокращения для каждого уникального элемента.
Я всегда использую _.groupBy, а затем _.map результат в массив после применения сокращения. В этом случае операция восстановления - _.sumBy.
var obj = [ {"name":"Jack ProjManager","count":12000}, {"name":"Jack ProjManager","count":750000}, {"name":"Joe ProjManager","count":45000} ];
var output = _(obj) .groupBy('name') .map((objs, key) => ({ 'name': key, 'count': _.sumBy(objs, 'count') })) .value(); console.log(output);
Django-регистрация довольно продолжительна. Одним из способов его расширения является предоставление пользовательской регистрационной формы. Я бы рекомендовал использовать reCaptcha , например. с полем виджета и формы из здесь ( в архиве ). Тогда это так же просто, как написание пользовательского класса формы и регистрационного бэкенда (что проще, чем кажется):
from registration.backends.default import DefaultBackend
from registration.forms import RegistrationForm
class RecaptchaRegistrationForm(RegistrationForm)
recaptcha = ReCaptchaField(label="I'm a human")
class RecaptchaRegistrationBackend(DefaultBackend):
def get_form_class(self, request):
return RecaptchaRegistrationForm
Последний шаг - указать django-registration использовать ваш бэкэнд. Этот шаг описан в документах (мне не удалось найти HTML-версию документов, извините)