Использование Djoser Я пытаюсь создать правильный URL для моего интерфейса.У меня должен быть амперсанд в строке URL-адреса, и Djoser должен отформатировать этот URL-адрес перед отправкой на мой веб-интерфейс.URL выглядит так:
https://localhost:4200/activate?id=MjA&token=540-cad5f834d5508ebdd78e
Но конечный результат, который я получаю, выглядит как note "amp;"после & :
http://localhost:4200/activate?id=MjE&token=541-c0437e0afd6261fd4833
Я пробовал следующие решения, но ни одно из них не работает (\u0026, {\u0026}, {\u0026:c}, &&)
:
print("https://localhost:4200/activate?id={uid}\u0026token={token}".format(uid="MjA", token="540-cad5f834d5508ebdd78e"))
print("https://localhost:4200/activate?id={uid}{\u0026}token={token}".format(uid="MjA", token="540-cad5f834d5508ebdd78e")) <-- returns KeyError: '&'
print("https://localhost:4200/activate?id={uid}{\u0026:c}token={token}".format(uid="MjA", token="540-cad5f834d5508ebdd78e")) <-- returns KeyError: '&'
ПРИМЕЧАНИЕ: Я не могу напрямуюизменить код в format()
части, это будет обрабатываться Djoser.Часть, которую я могу передать, это на самом деле только присвоить строковое значение URL активации, как здесь: 'ACTIVATION_URL': 'activate?id={uid}{\u0026:c}token={token}',
Так что я должен написать свое решение в этой строке.
NOTE2: Я попробовал этов Юпитере, там все работает нормально, я получаю правильный URL, когда я делаю это следующим образом:
print("https://localhost:4200/activate?id={uid}\u0026token={token}".format(uid="MjA", token="540-cad5f834d5508ebdd78e"))
Непосредственное добавление &
возвращаетчтобы открыть тот же URL с amp;
позади &
ОБНОВЛЕНИЕ Перезапись шаблона Djoser
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
...
},
]