【问题标题】:How to add a contact form template into another template?如何将联系人表单模板添加到另一个模板中?
【发布时间】:2019-02-03 19:55:47
【问题描述】:

我对此很陌生,我正在尝试为使用 django 2 的公司创建一个简单的网站。

我使用的是单页模板:https://html5up.net/astral

我想让联系表单工作,但我无法管理。

我已经尝试将{% block %} {% endblock %} 放入 HTML 文件中,但它不会呈现表单,{% include %} 会呈现我创建的 html 文件而不是表单。我想知道是否可以使已经呈现的表单工作。

谢谢!

【问题讨论】:

标签: django django-forms


【解决方案1】:

您可以使用Template Inheritance 来执行此操作。

你有你的“base.html”父模板,它有一个占位符的表单:

  <html>
  ...
  <div ... >

      {% block contact-form %}
      {% endblock %}

  </div> 
  ...
  </html>

您的表单位于“contact.html”子模板中:

{% extends "base.html" %}

{% block contact-form  %}

 <!-- contact form content -->

{% endblock %}

然后在您的 url 模式中直接窥视呈现子“contact.html”模板的视图。

{% extends %} 标签让模板引擎知道它必须首先加载父“base.html”,然后用子“contact.html”模板的内容填充适当的块。

【讨论】:

  • 问题在于 url 模式是一些谎言#contact,并且在同一个基本 html 中。如果这意味着什么,我不知道,但我只能在创建另一个 url 时使表单出现。即使它出现了,它也会弄乱页面,因为那时另一个面板的内容会显示在联系人面板中。
  • 不知道您的视图是如何设置的,但如果您只是将表单作为上下文对象 arg 的一部分传递给您的 render() 方法,然后添加一个 {{将 }} 标记添加到您的页面模板中。
猜你喜欢
  • 2019-06-25
  • 2012-06-14
  • 2015-11-30
  • 2018-02-02
  • 1970-01-01
  • 2013-09-20
  • 2014-01-15
  • 1970-01-01
相关资源
最近更新 更多