400 сервисов на все случаи жизни - перейти
Чем больше всматривашься в код, тем больше код всматривается в тебя
400 сервисов на все случаи жизни - перейти
О работе с метакласами по порядку:
# coding=utf-8
class AttributeInitType(type):
def __call__(self, *args, **kwargs):
"""Вызов класса при котором создается новый объект. """
#создаем сам объект
obj = type.__call__(self, *args)
#добавляем нашему классу переданные атрибуты
for name in kwargs:
setattr(obj, name, kwargs[name])
# вернем готовый объект
return obj
Пишу про то, с чем непосредственно самому приходилось работать
from collections import defaultdict
d = defaultdict(int)
color_list = ['red','black','red','blue']
for color in color_list:
d[color] += 1
#{'blue': 1, 'black': 1, 'red': 2}
print d
from itertools import izip
names = ['raymond', 'rachel', 'matthew']
colors = ['red', 'green', 'blue']
d = dict(izip(names, colors))
# {'matthew': 'blue', 'rachel': 'green', 'raymond': 'red'}
print d
Можно вставить в любой контролер и исполнении зайти уже авторизованным:
from django.contrib.auth.models import User
u = User.objects.get(id=3)
backend = get_backends()[0]
u.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__)
login(request, u)\