Перенаправление из приложения Django на веб-страницу Asp.Net - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть приложение Django, которое должно быть на нескольких языках.Временно я хотел бы выпустить свое приложение с английской формой и использовать кнопки на других языках для перенаправления на старую версию формы ASP.Net, пока я работаю над тем, чтобы сделать мою форму многоязычной.

Я сделалудается перенаправить мою форму в нужное место, когда я нажимаю кнопку «испанский», но отсутствуют необходимые параметры сеанса, необходимые для правильной работы формы ASP.NET.

Из моего приложения Django:

HTML-шаблон

<a href="{% url 'to_spanish' %}"><button type="button" class="btn-outline-secondary">Español</button></a>

views.py (перенаправление с этой страницы)

def to_spanish(request):
    request.session["Language"] = 'Spanish'
    # request.session["RandomID"] = ''
    # request.session["email"] = ''
    # request.session["nameidentifier"] = ''
    return HttpResponseRedirect('https://lspintake.nbn.org.il/IntakeForm')

urls.py

    urlpatterns = [
    path('', views.index, name='Auth0 homepage'),
    path('IntakeForm/1', views.personal_details_section),
    path('IntakeForm/2', views.parents_section),
    path('IntakeForm/3', views.citizenship_section),
    path('IntakeForm/4', views.idf_section),
    path('https://www.google.com', views.to_spanish, name='to_spanish'),

    ]

(я использовал здесь google.com в качестве заполнителя. Он по-прежнему перенаправляет на URL, который я ввел в представление, и я не совсем уверен, что добавить вURL-файл в этом месте.)

Из приложения ASP.NET (что я пытаюсь перенаправить в):

В этом приложении в C # используются такие строки кода:

int intLanguageId = Convert.ToInt32((string)Session["Language"]);

или

if (Session["email"] == null || Session["nameidentifier"] == null)

Как я могу получить эти переменные сеанса для отправки также в to_spanish view, куда я перенаправляю на это приложение?

1 Ответ

0 голосов
/ 25 сентября 2019

Django имеет несколько методов для хранения данных сеанса, и по умолчанию один, если вы не изменили его в настройках django, - это хранилище сеансов с резервной копией базы данных.В этом методе Django только сохраняет ключ сеанса в файлах cookie и сохраняет данные сеанса в базе данных, и никакое другое приложение не может прочитать эти данные сеанса.

Для достижения своей цели вы можете попробовать использоватьсеансы на основе файлов cookie, как описано здесь: https://docs.djangoproject.com/en/2.2/topics/http/sessions/#using-cookie-based-sessions, и поиграйтесь с механизмом шифрования, чтобы каким-то образом вы могли прочитать эти значения в вашем другом приложении.

Наконец, чтобы другое приложение могло читатьэти значения должны быть размещены в том же домене или в том же поддомене.В последнем случае вы должны настроить django на запись сеансов для базового домена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...