django酥脆的形式与jinja2

eis*_*lle 8 django django-templates jinja2 django-crispy-forms

我想一起使用Jinja2和Django crispy表单,但是当我在模板中加载crispy_forms_tags并尝试使用此模板标记呈现表单时,我收到错误:

Encountered unknown tag 'crispy'. Jinja was looking for the following tags: 'endblock'. The innermost block that needs to be closed is 'block'.
Run Code Online (Sandbox Code Playgroud)

我的模板代码:

{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% block content %}
    <div class="panel-heading"><h3>Registration</h3></div>
    {% crispy form %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

我该如何一起使用这些应用程序?

小智 10

更好的方案:

templatetags.py

from crispy_forms.utils import render_crispy_form
from django_jinja import library
from jinja2 import contextfunction


@contextfunction
@library.global_function
def crispy(context, form):
    return render_crispy_form(form, context=context)
Run Code Online (Sandbox Code Playgroud)

在模板中:

{{ crispy(form) }}
Run Code Online (Sandbox Code Playgroud)