Я регистрирую данные в пользовательской модели, а также хочу сохранять данные профиля одновременно с именем first_name и last_name в модели профиля.Можем ли мы получить данные объекта запроса в сигнале
Поэтому я использовал сигналы django для хранения информации о профиле и отправки почты пользователю.
Но мы не можем получить first_name и last_name в файле сигнала:
#---------------------------- Create profile at the time of registration --------------------------#
def register_profile(sender, **kwargs):
if kwargs.get('created'):
user = kwargs.get('instance')
request = kwargs.get("request")
if user.id is not None and user._disable_signals is not True:
profile = Profile(user=user)
if user.status is not 1:
#------------------- Send the registration mail to user and it have confirmation link ----------#
salt = hashlib.sha1(str(random.random())).hexdigest()[:5]
activation_key = hashlib.sha1(salt+user.email).hexdigest()
key_expires = datetime.datetime.today() + datetime.timedelta(2)
#print user
profile.activation_key = activation_key
profile.key_expires = key_expires
#--------------------- End -------------------------------------------------------------#
profile.save()
if user.status is not 1:
user = model_to_dict(user)
BaseSendMail.delay(user,type='account_confirmation',key = activation_key)
return
post_save.connect(register_profile, sender=User, dispatch_uid='register_profile')
#-------------------------- End ---------------------------------------------------------------------#
В коде выше я не могу получить first_name и last_name данных, посылаемых во время registration.Also я хотел что поля first_name и last_name принадлежат модели профиля.
Вы не должны использовать глобальные переменные в django, и этот импорт не достигнет того, чего вы хотите. ither. –