尝试在 Django 中的表单上使用脆皮表单过滤器时收到“无效表单:脆皮”错误,但仅在一个 django 应用程序中而不是在另一个应用程序中?

val*_*occ 5 html django django-forms django-crispy-forms

尝试使用crispy过滤器时,我收到一个错误:

django.template.exceptions.TemplateSyntaxError:过滤器无效:'脆'

我相信这是因为由于Django某种原因无法找到松脆的过滤器,因为当我输入一个不存在的过滤器的名称时,我收到了同样的错误。

我已经{% load crispy_forms_tags %}在 html 文档的顶部使用{{ form|crispy }}并用于应用过滤器。我还在文件中添加了“crispy forms”应用程序settings.py,并使用 安装了django-crispy-formspip,我可以清楚地看到使用pip freeze.

请注意,脆皮表单过滤器确实适用于我网站的不同 django 应用程序,即使我认为我没有更改该应用程序目录中的任何内容(但我可能错了,自从我在该目录中工作以来已经有一段时间了)。我想不出有什么不同。我读了一些关于附加到第一个应用程序目录的过滤器,它可以,仅此而已,但该信息含糊不清,当我{% load crispy_forms_tags %}从使用它的模板中删除该行时,脆过滤器仍然无法在新应用程序中工作。

这是模板。

{% extends "breed_identifier/base.html" %}
(% load crispy_forms_tags %)
{% block content %}
    <div class="content-section">
        <form method="POST">
            {% csrf_token %}
            <fieldset class="form-group">
                <legend class="border-bottom mb-4">Join Today</legend>
                {{ form|crispy }}
            </fieldset>
            <div class="form-group">
                <button class="btn btn-outline-info" type="submit">Sign Up</button>
            </div>
        </form>
        <div class="border-top pt-3">
            <small class="text-muted">
                Already Have An Account? <a class="ml-2" href="#">Sign In</a>
            </small>
        </div>
    </div>
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)

这是在我的 settings.py 文件中。

INSTALLED_APPS = [
    'users.apps.UsersConfig',
    'django.contrib.admin',
    'breed_identifier.apps.BreedIdentifierConfig',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'crispy_forms',
]
Run Code Online (Sandbox Code Playgroud)

小智 10

我遇到了同样的问题,但在模板顶部加载 Crispy {% load Cripy_forms_tags %} 表单后得到了解决

    {% extends 'base.html' %} {% block content %}
    {% load crispy_forms_tags %}

<div class="container">
  <div class="row">
    <div class="col-md-8 card mb-4  mt-3 left  top">
      <div class="card-body">
        <h1>{% block title %} {{ post.title }} {% endblock title %}</h1>
        <p class=" text-muted">{{ post.author }} | {{ post.created_on }}</p>
        <p class="card-text ">{{ post.content | safe }}</p>
      </div>
    </div>
    {% block sidebar %} {% include 'sidebar.html' %} {% endblock sidebar %}

    <div class="col-md-8 card mb-4  mt-3 ">
      <div class="card-body">
        <!-- comments -->
        <h2>{{ comments.count }} comments</h2>

        {% for comment in comments %}
        <div class="comments" style="padding: 10px;">
          <p class="font-weight-bold">
            {{ comment.name }}
            <span class=" text-muted font-weight-normal">
              {{ comment.created_on }}
            </span>
          </p>
          {{ comment.body | linebreaks }}
        </div>
        {% endfor %}
      </div>
    </div>
    <div class="col-md-8 card mb-4  mt-3 ">
      <div class="card-body">
        {% if new_comment %}
        <div class="alert alert-success" role="alert">
          Your comment is awaiting moderation
        </div>
        {% else %}
        <h3>Leave a comment</h3>
    
        <form method="post" style="margin-top: 1.3em;">
          {{ comment_form | crispy }}
          {% csrf_token %}
          <button type="submit" class="btn btn-primary  btn-lg">Submit</button>
        </form>

        {% endif %}
      </div>
    </div>
  </div>
</div>
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)