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

В моем html шаблоне у меня есть переменная {{ student.mail}} из контекста в представлении Nr.1. В этом шаблоне у меня также есть кнопка <a class="btn btn-warning" href="{% url 'send_and_home' mail=student.mail %}" role="button">Save and Send</a>. Как отправить эту студенческую почту в представление Nr.2. Первое представление возвращает домашнюю страницу без какой-либо информации. Моя вторая страница также возвращает ту же домашнюю страницу, но внутри есть дополнительная функция для отправки почты. Я не понимаю, как реализовать что-то подобное? Не могли бы вы мне помочь?

мои урлы:

path('home/', views.home, name="home"),

мой 1-й взгляд:

   @login_required(login_url='login')
    def home(request):
        # smth
    
        context = ...
        return render(request, 'app/home.html', context)

мой 2-й взгляд:

@login_required(login_url='login')
def send_and_home(request, mail):
    # article, text, to for mail() depends on mail var from my template
    mail()
    

    context = the same as a view Nr.1
    return render(request, 'app/home.html', context)


def mail(request, article, text, to):
    
    return send_mail(
    article,
    'text',
    '........',
    [to,],
    fail_silently=False,
)

Ок, я просто добавляю новый тег:

import re
from django import template
from django.core.mail import send_mail
register = template.Library()

@register.filter
def mail(address):
    return send_mail(
    '....',
    'Test 2) ',
    '.....',
    [address,],
    fail_silently=False,
    )

А затем в шаблоне:

{% load mail %}
....
{{ var | mail }}
Вернуться на верх