Я использую Django-Registraion-Redux для регистрации пользователя. Когда пользователь регистрируется и нажимает на ссылку активации учетной записи, она активируется, но если пользователь снова нажимает на ту же ссылку, он показывает то же сообщение, что и предыдущее. Это технически неправильно. Итак, как запретить пользователю нажимать на одну и ту же ссылку или как показать ему правильное сообщение
Ссылку на активацию учетной записи Django нельзя использовать дважды?
comment
для меня это нормально, если пользователь нажимает на действующую ссылку активации, а его учетная запись уже активна, скажите им, что все в порядке, не нужно выдавать им какую-то ошибку.
- person aliva   schedule 17.04.2017
comment
да, но учетная запись ошибки уже активна, не приходит, показывает ту же страницу
- person   schedule 17.04.2017
comment
как я могу отобразить это - учетная запись уже активна
- person   schedule 17.04.2017
comment
что вы сделали до сих пор ?? пожалуйста, предоставьте свой код.
- person mahendra kamble   schedule 17.04.2017
comment
я только что использовал пакет django-registration-redux
- person   schedule 17.04.2017
comment
django-registration-redux.readthedocs.io/en/latest
- person   schedule 17.04.2017
Ответы (2)
Вы можете переопределить вид активации, проверить, активен запрошенный пользователь или нет. Если пользователь не активен, активируйте его или, если пользователь уже активен, перенаправьте на страницу с ошибкой, показывающую что-то вроде account already activated..
сделать что-то вроде этого..
def activate(request, *args, **kwargs):
if request.user.is_active:
return render(request, alredy_active.html, {})
else:
request.user.is_active = True
request.user.save()
return render(request, success.html, {})
person
Adaikalaraj
schedule
17.04.2017
я должен установить URL для него
- person ; 17.04.2017
URL-адрес активации уже существует, все, что вам нужно, это переопределить его. также вам нужно установить URL-адрес ошибки, указывающий на уже активный вид
- person Adaikalaraj; 17.04.2017
if request.user.is_authenticated():
# They already have an account; don't let them register again
return render_to_response('template-name', {})
Здесь мы проверяем, аутентифицирован ли пользователь или нет, с помощью этого оператора request.user.is_authenticated()
, если пользователь аутентифицирован, то отображаем ответ на ваш настроенный шаблон.
person
mahendra kamble
schedule
17.04.2017