¿Cómo paso variables de una vista a otra y renderizo con la URL de la última vista en Django?

Estoy construyendo un sistema de gestión de estudiantes usando Django.

En este código, el usuario busca a un alumno con la consulta cifradaname=StudentName&grade=Grade&id=StudentID&phone=ParentPhoneNumber&report=StudentReportNumber, que se extrae con eldecrypt() método.

Estos son los dos métodos, el que procesa la consulta y el que muestra el perfil del alumno.

No se guardan datos de la consulta en la base de datos, pero se utilizarán para consultar los detalles del alumno desde la base de datos.

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)

urls para esto,

url(r'^go/

cuandoprofile_view se llama sin 'vista_proceso', solo se deben mostrar el nombre y el grado. Si elprofile_view es iniciado por elprocess_view Se debe representar el contexto con la asistencia y las calificaciones.

Esto funciona hasta queprocess_view redirigir, pero no tengo ni idea de dónde debería redirigir (o incluso ¿debería redirigir?atascado) y llamando alprofile_view.

Entonces el resumen de la pregunta,

¿Cómo redirijo desdeprocess_view aprofile_view sin perder los datos recopilados enprocess_view alprofile_view y renderizar el contenido con la url deprofile_view? No quiero eltoken ystudent_id que se mostrará en la url.

Gracias por cualquier sugerencia / ayuda.

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

cuandoprofile_view se llama sin 'vista_proceso', solo se deben mostrar el nombre y el grado. Si elprofile_view es iniciado por elprocess_view Se debe representar el contexto con la asistencia y las calificaciones.

Esto funciona hasta queprocess_view redirigir, pero no tengo ni idea de dónde debería redirigir (o incluso ¿debería redirigir?atascado) y llamando alprofile_view.

Entonces el resumen de la pregunta,

¿Cómo redirijo desdeprocess_view aprofile_view sin perder los datos recopilados enprocess_view alprofile_view y renderizar el contenido con la url deprofile_view? No quiero eltoken ystudent_id que se mostrará en la url.

Gracias por cualquier sugerencia / ayuda.

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

cuandoprofile_view se llama sin 'vista_proceso', solo se deben mostrar el nombre y el grado. Si elprofile_view es iniciado por elprocess_view Se debe representar el contexto con la asistencia y las calificaciones.

Esto funciona hasta queprocess_view redirigir, pero no tengo ni idea de dónde debería redirigir (o incluso ¿debería redirigir?atascado) y llamando alprofile_view.

Entonces el resumen de la pregunta,

¿Cómo redirijo desdeprocess_view aprofile_view sin perder los datos recopilados enprocess_view alprofile_view y renderizar el contenido con la url deprofile_view? No quiero eltoken ystudent_id que se mostrará en la url.

Gracias por cualquier sugerencia / ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta