【问题标题】:Error in Django: TemplateDoesNotExist at / materialize_css_forms/whole_uni_form.htmlDjango 中的错误:TemplateDoesNotExist at /materialize_css_forms/whole_uni_form.html
【发布时间】:2020-08-14 08:09:09
【问题描述】:

我收到此错误消息,但找不到我缺少的内容。 我从 PyPi pip install django-materializecss-form 安装 并将其添加到 INSTALLED_APPS 我正在使用 django 3.0.8 我更新了关于第一条评论的代码:

form.html

{% load crispy_forms_tags %}
{% load materializecss %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-WskhaSGFghY">
</head>
<body style="padding: 20px;">
{{ form|materializecss }}
{% crispy form form.helper %}
</body>
</html>

forms.py

from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Submit
from django import forms
from . models import Snippet

class ContactForm(forms.Form):
    name = forms.CharField()
    email = forms.EmailField(label='E-Mail')
    category = forms.ChoiceField(choices=[('question', 'Question'), ('other', 'Other')])
    subject = forms.CharField(required=False)
    body = forms.CharField(widget=forms.Textarea)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.helper = FormHelper
        self.helper.form_method = 'post'

class SnippetForm(forms.ModelForm):
    class Meta:
        model = Snippet
        fields = ('name', 'body')

settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
    'crispy_forms',
    'materializecssform'
]

CRISPY_ALLOWED_TEMPLATE_PACKS = ('bootstrap', 'uni_form', 'bootstrap3', 'bootstrap4', 'materialize_css_forms', )
CRISPY_TEMPLATE_PACK = 'materialize_css_forms'

【问题讨论】:

    标签: django django-forms materialize


    【解决方案1】:

    您需要加载 ma​​terializecss 才能使用它。

    {% load materializecss %}
    
    

    您需要在表单中添加 crispy

    {{ form|crispy}}
    

    【讨论】:

    • 我应该写在第一个之后吗?因为这一次它给了我无效的过滤器:'materialize'。我更新了我的代码,请检查一下
    • 仍然得到同样的错误。它看起来像是来自过滤器
    • 现在我又得到了标题中的第一个错误。我真的找不到问题...
    • @developer 你可以尝试在 body 中使用 {{form|crispy}} 并从 body 标签中移除 helper 和具体化行吗?
    • 这很完美!非常感谢!!!看起来我根本不需要在这个 html 文件中加载脆皮。再次感谢)))
    猜你喜欢
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 2021-02-08
    • 2019-08-21
    • 2014-07-05
    • 2014-02-19
    • 2013-06-20
    相关资源
    最近更新 更多