Ошибка шаблона Django: Не удалось разобрать остаток: ',' из 'uid,'?
Я использую Django forgot_password
рамки с пользовательским шаблоном. я использую Django 1.5
, Мой пользовательский шаблон password_reset_email.html
выглядит так:
{% autoescape off %}
You're receiving this e-mail because you requested a password reset for your user account at {{ site_name }}.
Please go to the following page and choose a new password:
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url django.contrib.auth.views.password_reset_confirm uidb36=uid, token=token %}
{% endblock %}
Your username, in case you've forgotten: {{ user.username }}
Thanks for using our site!
The {{ site_name }} team.
{% endautoescape %}
#Exception:
Exception Type: TemplateSyntaxError at /accounts/password/reset/
Exception Value: Could not parse the remainder: ',' from 'uid,'
4 ответа
Поместите это в топ:
{% load i18n %}{% load url from future %}
{% autoescape off %}
..........
Удалить ,
кладешь рядом uidb36=uid,
{% url 'django.contrib.auth.views.password_reset_confirm' uidb36=uid token=token %}
У меня недостаточно очков репутации, чтобы комментировать принятый ответ, но {% load url from future %} не требуется, поскольку вы используете Django 1.5. Это было нужно только в Django 1.3 и 1.4. https://docs.djangoproject.com/en/dev/releases/1.3/
По состоянию на 2022 год (версия django 4.0.5) ни один из ответов здесь не помог мне. Пришлось изменить строчку:
{% url django.contrib.auth.views.password_reset_confirm uidb36=uid, token=token %}
к:
{% url 'password_reset_confirm' uid token %}
гдеpassword_reset_confirm
этоname
который я дал для подтверждения сброса пароля в моем шаблоне URL, который находится вurls.py
файл внутри приложения, где я управляю своей системой регистрации пользователей (приложение называетсяusers
):
path('pattern/<uidb64>/<token>', django.contrib.auth.PasswordResetConfirmView.as_view(template_name='users/password_reset_confirm.html'), name='password_reset_confirm')
моя проблема решена, написав это. Я использую django 4.1.
{% URL 'password_reset_confirm' uidb64=uid токен=токен %}