【问题标题】:Inheriting formatting in django template [closed]在 django 模板中继承格式
【发布时间】:2011-12-23 13:17:59
【问题描述】:

我正在尝试在我的 django 模板中传递一些格式(居中)。我的基地是:

{% block main_content %}{% endblock %}

然后我有一个子基础文件:

{% extends "base.html" %}
{% block main_content %}
    <br><br><br>
    <center>
        {% block login_content %}{% endblock %}
    </center>
{% endblock %}

最后是我的实际内容

{% extends "subbase.html" %}
{% block login_content %}
    <form method="post" action=".">{% csrf_token %}
          {{ form.as_p }}

          <input type="submit" value="{% trans 'Log in' %}" />
          <input type="hidden" name="next" value="{{ next }}" />
    </form>
{% endblock %}

我没有在最终模板中看到该表单。我只是得到一个空白屏幕。如果我将最终的 {% block login_content %} 更改为 {% block main_content %} 那么我会得到表单,但不会得到格式(我理解)。我不明白为什么当我尝试以这种方式实现格式化时,我什么也得不到。

【问题讨论】:

  • 我认为模板只是一个示例,您不会像 IRL 那样使用 center 和 br :-)
  • 是的,我只是用它们作为一种快速而肮脏的方式来查看我想要的东西。然后我会把它CSS起来
  • 如果将 {% block login_content %}{% endblock %} 放在 main_content 块之外会发生什么?
  • 如果您删除 base 文件并从 subbase 文件中删除 {% extends "base.html" %} 会发生什么?它工作正常吗?
  • 可能的原因是您有另一个 base 模板或另一个具有相同名称的 subbase 模板。可能是使用了不正确的模板。请检查一下。

标签: django templates inheritance


【解决方案1】:

很抱歉浪费了您的时间。原来我正在编辑错误的文件版本,所以我的任何更改都没有传递到正确的 subbase.html

失败

【讨论】:

    【解决方案2】:

    嗯,这听起来可能很明显,但您的继承似乎非常好...您确定将表单作为 dict 参数传递给实际视图(尝试将表单放入上下文处理器中进行调试?)

    【讨论】:

    • 是的,表格看起来不错。事实上,如果我什至删除表单并输入一些虚拟文本,我仍然没有得到任何输出
    • 很奇怪,我尝试扩展扩展模板,它可以很好地解析内容
    • 由于你的两个cmets从头开始,发现一个非常愚蠢的错误。
    猜你喜欢
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 2013-01-09
    • 2011-12-24
    • 2021-02-13
    • 2011-02-04
    相关资源
    最近更新 更多