如何在基本页面的单独页面中访问函数视图的上下文?

时间:2019-03-29 13:19:41

标签: python html django templates

我用下面的代码创建了新闻通讯应用,之后我有了一个URL:可以完美地工作并保存我的电子邮件,之后我想在基本页面中添加此功能,例如,用户不去订阅页面并订阅了我我想直接访问基本模板并订阅。 我想知道这一点,因为我想将登录表单添加到基本页面并对此产生问题。 这是我的代码,这是我的模板 tnx寻求帮助。

views.py

def Subscribe(request):
    form = SiqnupNewslettersForm(request.POST or None)
    if form.is_valid():
        instance = form.save(commit=False)
        if SignupNewsletters.objects.filter(email=instance.email).exists():
            print("this email already taken ")
        else :
            instance.save()
    context = {
        'form':form
    }

    template_name = "subscribe.html"

    return render(request,template_name,context)


def Unsubcribe(request):
    form = SiqnupNewslettersForm(request.POST or None)
    if form.is_valid():
        instance = form.save(commit=False)
        if SignupNewsletters.objects.filter(email= instance.email).exists():
            SiqnupNewslettersForm.objects.filter(email = instance).delete()
        else:
            print("your email is not here")

        context = {
            'form' : form
        }
        template_name = "unsubscribe.html"

        return render(request,template_name,context)

subscribe.html

{% block content %}
<div class="container">
    <div class="row">
        <form method="POST" action="">
           {% csrf_token %}
           <div class="form-group">
                        {{ form }}
           </div>
           <input type='submit' class="btn btn-primary" 
value="submit">
      </form>
   </div>
</div>
{% endblock %}

urls.py

urlpatterns = [
  path('subscribe/',views.Subscribe,name="subscribe"),
  path('unsubscribe/',views.Unsubcribe,name= "unsubscribe"),
]

最后是我要在基本页面中添加新闻稿表单的什么?

base.html

0 个答案:

没有答案