Пользовательский тег шаблона и защита от CSRF

Django 3.2.6

emails/subscribe.html

<form action="{% url 'emails:subscribe_result' %}" method="post">
    {% csrf_token %}
    {{ form }}
    <input type="submit" value="Submit">
</form>

Это работает нормально:

class SubscribeFormView(FormView):
    template_name = 'emails/subscribe.html'
    form_class = SubscribeForm
    success_url = 'emails/thanks/'

Но это не так:

from django import template
from django.utils.safestring import mark_safe, SafeString
from django.template import Context, Template
from django.template.loader import get_template
register = template.Library()

from emails.forms import SubscribeForm


    @register.simple_tag
    def subscribe() -> SafeString:
        template = get_template("emails/subscribe.html")
    
        context = {"form": SubscribeForm(), }
    
        result = template.render(context)
    
        return mark_safe(result)

Я получаю:

Forbidden (403)
CSRF verification failed. Request aborted.

Help
Reason given for failure:

    CSRF token missing or incorrect.

Можете ли вы помочь мне понять, почему здесь не может быть использован тег пользовательского шаблона? Может быть, поможет запрос через AJAX?

/////////////////////////////

Вернуться на верх