簡體   English   中英

Django crispy表單:在模板'bootstrap3 / whole_uni_form.html'中解析變量'form_html'時出現異常

[英]Django crispy forms: Exception while resolving variable 'form_html' in template 'bootstrap3/whole_uni_form.html'

我正在制作我的第一個Django應用程序,我決定使用Crispy表單。 當我訪問我的視圖時,它會拋出一堆奇怪的錯誤 (我粘貼它們,因為列表確實非常非常大)。 奇怪的是,表單實際上正確呈現。

我的表格類:

def _article_form_widget():
    return forms.Textarea(
        attrs={'rows': 30}
        )

# [...] Some other forms

class NewArticleForm(forms.Form):

    """New article form"""
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_id  = 'new_article_form'

        self.helper.add_input(Submit('submit', 'Submit'))

    name = forms.CharField(label='Article name', max_length=1100)
    slug = forms.SlugField(label='Article slug', max_length=1100)
    body = forms.CharField(label='Article body', widget=_article_form_widget())

我的觀點:

class NewArticleView(FormView):

    form_class = NewArticleForm
    template_name = 'wiki/new_article.html'

    def form_valid(self, form):
        with transaction.atomic():
            self.article = Article(body=form.cleaned_data['body'])
            self.article.save()
            self.main_alias = Alias(
                name=form.cleaned_data['name'],
                slug=form.cleaned_data['slug'],
                article=self.article
            )
            self.main_alias.save()
        return super().form_valid(form)

    def get_success_url(self):
        return reverse_lazy('article-detail',
                            kwargs={'slug': self.main_alias.slug})

模板:

{% extends "base.html" %}

{% block content %}
    <h1>New article</h1>

    {% load crispy_forms_tags %}
    {% crispy form %}
{% endblock content %}

我嘗試更新Django和django-crispy-forms,但沒有用。 請幫我解開這個謎。

這里沒有錯。 crispy模板查找可能存在或不存在的tag上下文變量,並相應地呈現內容。

您看到所有這些錯誤的原因是您已配置DEBUG級別日志記錄。 模板執行此操作時,文檔會說:

丟失的上下文變量記錄為DEBUG消息。

這些錯誤無需擔心,而且它的工作正常。

看看你的Github回購,看起來你可能已經開始了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM