2012-06-28 4 views
1

Я хотел бы разрешить пользователю изменять пароль, и я использую функцию пароля jjango-in-built-password. Я хотел бы использовать имя шаблона по умолчанию и password_change_form, но я хочу изменить аргумент post_change_redirect на определенный для моего сайта.Функция password_change в аутентификации пользователя Django

Как изменить это, только сохраняя при этом остальное то же самое?

От Джанго Документация:

password_change(request[, template_name, post_change_redirect, password_change_form]) 
Allows a user to change their password. 

URL name: password_change 

Optional arguments: 

template_name: The full name of a template to use for displaying the password change form. Defaults to registration/password_change_form.html if not supplied. 
post_change_redirect: The URL to redirect to after a successful password change. 
password_change_form: A custom "change password" form which must accept a user keyword argument. The form is responsible for actually changing the user's password. Defaults to PasswordChangeForm. 
Template context: 

форма: Форма смены пароля (см password_change_form выше).

Нужно руководствоваться. Благодарю.

+0

' password_change (request, post_change_redirect = 'my_url') '? –

+0

def lmlogout (запрос): "" " logout view " "" return password_change (request, post_change_redirect = 'my_url') Правильное использование? – lakesh

+0

Лучше всего попробовать его в Django, но я буду использовать эту функцию. –

ответ

3

Вы хотите, чтобы определить вид, который будет служить модифицированный password_change вид:

from django.contrib.auth.views import password_change 

def change_password(request): 
    return password_change(request, post_change_redirect='%my_post_change_url%') 

И это все.

Вы должны только помнить, что это будет перенаправить вас на логин-страницу по умолчанию, если вы не вошли в систему и что вы должны написать шаблон изменения пароля страницы (названный registration/password_change_form.html по умолчанию)

Смежные вопросы