Как передать переменные из одного представления в другое и выполнить рендеринг с URL-адресом последнего представления в Django?

Я строю систему управления студентами, используя Django.

В этом коде пользователь ищет ученика с зашифрованным запросомname=StudentName&grade=Grade&id=StudentID&phone=ParentPhoneNumber&report=StudentReportNumber, который извлекается сdecrypt() метод.

Вот два метода, один из которых обрабатывает запрос, а другой показывает профиль студента.

Данные из запроса не сохраняются в базе данных, но будут использоваться для запроса сведений об ученике из базы данных.

def process_query(request):
    # process the query from the url /?details={{ some hashes here }}

    if request.method == 'GET':
        raw_deatils = request.GET.get('details', None)
        if raw_deatils:
            details = decrypt(raw_deatils)
            # decrypt is a function that is defined
            # in the utils which takes the input string,
            # check predeifined tests to test if valid.
            # and return the decrypted query string else None

            if details:

            # now the decrypted message looks something like this.
            # name=StudentName&grade=Grade&id=StudentID&phone=
            # ParentPhoneNumber&report=StudentReportNumber
            # some more processing pulls out value to variables,

                name = details['StudentName'],
                grade = details['Grade'],
                student_id = details['StudentID'],
                phone = details['ParentPhoneNumber'],
                report = details['StudentReportNumber'],
                search_token = details['token']
                return redirect("somewhere I'm stuck")
            else:
                # encryption error, so redirect user to query page
        else:
            # error with submission redirect to query page
    else:
        # error with method. redirect to homepage.

def student_profile(request, name=None, grade=None, student_id=None):
# token to be added??

    # some data processing to get marks,
    # progress report. etc
    if student_id:
        context = {
            'name' : name,
            'grade' : grade,

            'student_id' : student_id,
            'report' : report,
            'marks': {
                # another dictionary of dictionaries
                # as the product of the processing
            },
            'token' : token,
            'attendance': {
                # another dicitonary of stuff.
            }
    else:

        context = {
            'name' : name,
            'grade' : grade,
        }

    return render(request, 'students/profile/single.html', context)

URL для этого,

url(r'^go/

всякий раз, когдаprofile_view вызывается без 'process_view', только имя и оценка должны быть показаны. Еслиprofile_view инициируетсяprocess_view контекст с посещаемостью и оценками должен быть представлен.

Это работает доprocess_view перенаправить, но у меня нет понятия, куда мне перенаправить (или даже перенаправить?застрял) и зоветprofile_view.

Итак, краткое изложение вопроса,

Как мне перенаправить сprocess_view вprofile_view без потери данных, собранных вprocess_view кprofile_view и визуализировать контент с помощью URLprofile_view? Я не хочуtoken а такжеstudent_id быть показано на URL.

Спасибо за любые предложения / помощь.

, 'students.views.process_query' name='process_view'), url(r'^profile/(?P<name>[a-zA-Z]{1,20})/(?P<grade>[a-zA-Z]{1,20})

всякий раз, когдаprofile_view вызывается без 'process_view', только имя и оценка должны быть показаны. Еслиprofile_view инициируетсяprocess_view контекст с посещаемостью и оценками должен быть представлен.

Это работает доprocess_view перенаправить, но у меня нет понятия, куда мне перенаправить (или даже перенаправить?застрял) и зоветprofile_view.

Итак, краткое изложение вопроса,

Как мне перенаправить сprocess_view вprofile_view без потери данных, собранных вprocess_view кprofile_view и визуализировать контент с помощью URLprofile_view? Я не хочуtoken а такжеstudent_id быть показано на URL.

Спасибо за любые предложения / помощь.

, 'students.views.student_profile', name='profile_view'),

всякий раз, когдаprofile_view вызывается без 'process_view', только имя и оценка должны быть показаны. Еслиprofile_view инициируетсяprocess_view контекст с посещаемостью и оценками должен быть представлен.

Это работает доprocess_view перенаправить, но у меня нет понятия, куда мне перенаправить (или даже перенаправить?застрял) и зоветprofile_view.

Итак, краткое изложение вопроса,

Как мне перенаправить сprocess_view вprofile_view без потери данных, собранных вprocess_view кprofile_view и визуализировать контент с помощью URLprofile_view? Я не хочуtoken а такжеstudent_id быть показано на URL.

Спасибо за любые предложения / помощь.

Ответы на вопрос(2)

Ваш ответ на вопрос