如何在Django中的多个视图中实现一个基本表单?

问题描述 投票:0回答:1

所以我有一个

base.html
文件,其中存在所有其他模板中常见的所有组件。我正在尝试在我的 django 项目中实现新闻通讯表单功能。此表单应显示在所有页面上(在顶部导航栏中)。 但这里的问题是,此表单仅显示在
base.html
上,而不显示在扩展此文件的其他模板页面上。

base.html

{% load static %}
<html lang="en">
<body>
  <div id="overlay">
    <div class="overlay-body form-group">
      <h2>Subscribe to our newsletter</h2>
      <form method="post">
        {% csrf_token %}
        {{form}}
        <button type="reset" onclick="off()">Cancel</button>
        <button type="submit" value="submit">Submit</button>
      </form>
    </div>
  </div>
  <div class="container">

    <header>
      <div>
        <div class="col-4 "><a id="blog-side" onclick="on()">Subscribe</a></div>
        <div class="col-4 ">
          <img src="{% static 'img/logo.png' %}" alt="Logo"> 
          <a href="{% url 'home' %}" class="title">Blog</a>
        </div>
        <div class="col-4 "><a href="{% url 'about' %}" id="blog-side">About</a></div>
      </div>
    </header>

    {% block content %}
    {% endblock content %}

  </div>
</body>
</html>

这是来自

models.py

的时事通讯表格
class Newsletter(models.Model):
  email = models.EmailField()
  entered_on = models.DateTimeField(auto_now_add=True)
  active = models.BooleanField(default=True)

  def __str__(self):
    return self.email

forms.py

class NewsletterForm(forms.ModelForm):
  class Meta:
    model = Newsletter
    fields = ('email', )

知道如何在其他模板中设置此表单吗?

django django-models django-forms django-views django-templates
1个回答
0
投票

这里的问题是,您需要确保在您创建的每个视图中发送表单。

© www.soinside.com 2019 - 2024. All rights reserved.