В одном из моих представлений мне нужны данные о имени пользователя и пароле в необработанном формате, но Django использует алгоритм PBKDF2 для хранения пароля.
Я хотел бы знать, как получить сохраненный пароль из формы аутентификации.
Используя эти данные об имени пользователя и пароле из моего приложения Django, мне нужно использовать те же учетные данные для доступа к другому веб-сайту для выполнения веб-автоматизации на нем с помощью веб-драйвера selenium chrome.
Пожалуйста, дайте нам знать, как получитьпароль в необработанном формате после аутентификации пользователя с использованием ниже LoginForm и login_view.
forms.py:
класс LoginForm (AuthenticationForm):
remember_me = forms.BooleanField(required=True, initial=False)
def __init__(self, *args, **kwargs):
super(LoginForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_action = '.'
self.helper.layout = Layout(
Field('username', placeholder="Enter Username", autofocus=""),
Field('password', placeholder="Enter Password"),
Field('remember_me'),
Submit('sign_in', 'Log in',
css_class="btn btn-lg btn-primary btn-block"),
)
def apply_gsp_request_form (request,id = None):
if id:
action = 'edit'
model = get_object_or_404(ApplyGSP, pk=id)
else:
action = 'submit'
model = ApplyGSP()
message = ""
if request.method == 'POST':
form = ApplyGSPForm(request.POST, instance=model)
if form.is_valid():
form.save()
username = request.user.username
print("password:", request.user.password)
# How to get password details ? If i get pwd here using request.user.password it is displaying in <SHAalgorithm>$<iterations>$<salt>$<hash> format.
# but i need in raw(clear text format)
applyselenium(username,password)
def applyselenium ():
My Views.py:
views.py:
def login_view (запрос): выход из системы (запрос)
username = password = ''
redirect_to = request.GET.get('next', '/gspapp/')
form = LoginForm()
if request.POST:
form = LoginForm(request.POST)
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
remember_me = request.POST.get('remember_me', False)
if remember_me == "on":
ONE_MONTH = 30 * 24 * 60 * 60
expiry = getattr(settings, "KEEP_LOGGED_DURATION", ONE_MONTH)
request.session.set_expiry(expiry)
else:
request.session.set_expiry(0)
return HttpResponseRedirect(redirect_to)
context = {'form': form, 'page_title': page_title, 'loginpage_heading': loginpage_heading}
return render(request, 'login.html', context)
С уважением Н.Дилип Кумар.