Создайте пользователя в продакшене или на локальном хосте для django

Я не знаю, является ли это вопросом новичка. Но в принципе, у меня есть сайт, размещенный на Pythonanywhere. Когда я хочу внести изменения, обычный рабочий процесс заключается в том, чтобы внести изменения локально -> зафиксировать и отправить изменения на github -> вытащить изменения в консоль pythonanywhere(PA) и мигрировать.

На данный момент я создаю учетные записи для своих пользователей вручную, после чего им автоматически отправляется письмо со ссылкой для установки пароля. Я делаю это следующим образом.

            uid = urlsafe_base64_encode(force_bytes(user.pk))
            token =  default_token_generator.make_token(user)
            reset_view = reverse('password_reset_confirm', args=[uid, token])
            url = request.build_absolute_uri( reset_view )

            set_password_form  = PasswordResetForm({'email':email})
            assert set_password_form.is_valid()
            set_password_form.save(
                request=request,
                from_email="email",
                subject_template_name='accounts/welcome_email_subject.txt',
                email_template_name="accounts/welcome_email_template.html",
                html_email_template_name="accounts/welcome_email_template.html",
                extra_email_context = {'url':url , 'username':username,"name":name}
            )

Недавно я понял, что домен генерируемой ссылки сброса пароля зависит от того, где я создал учетную запись пользователя. Так, если я создал пользователя на localhost, домен будет 127.0. 0.0, но если я создал учетную запись в Pythonanywhere, домен будет mywebsite.com. Скажем, если я решил создать учетную запись на локальном сервере, то доменом будет localhost, поэтому если я закрою компьютер до того, как пользователь перейдет по ссылке, он не сможет установить свой пароль, так как сервер будет отключен. Это исключает идею о том, что я должен создать пользователя локально.

Но если я решу создать пользователя на PA, не будет ли это означать, что в дополнение к обычному рабочему процессу, мне также придется перебрасывать изменения с производственного сервера на github, а затем перетаскивать их на локальный сервер каждый раз, когда я это делаю? Есть ли что-то, чего я не понимаю, или это просто реальность?

Вернуться на верх