gpt4 book ai didi

python - 将应用程序中的联系表单插入 Django 中的类 View

转载 作者:行者123 更新时间:2023-11-28 18:00:54 24 4
gpt4 key购买 nike

如果你有这样的看法

class Index(TemplateView):
template_name = 'index.html'

其中 index.html 具有此结构

{% block content %}
{% include "content.html" %}
{% content %}

如何在 content.html 中包含来自联系人应用的此 View ?

def contactForm(request):
#....some form processing here
return render(request, "contact.html", {'form': form})

所以在 content.html 中,当提交成功时,您有一个联系表单,它只是停留在 content.html 上,表示成功。谢谢。

最佳答案

您可以使用 FromView,它们旨在显示和验证基本表单。您可以在 form_valid 或 form invalid 上创建一些自定义逻辑。如果默认行为没问题,请不要使用它们。

有关成功消息,请查看 https://docs.djangoproject.com/en/2.2/ref/contrib/messages/

from django.urls import reverse_lazy
from django.views.generic import FormView
from django.contrib.messages.views import SuccessMessageMixin

class Index(SuccessMessageMixin,FormView):
template_name = 'index.html'
form_class = ContactForm()
#name of your index view defined in urls.py
success_url = reverse_lazy('name_of_your_index_view')
success_message = "Success"


#OPTIONAL:if you want some custom logic if the form is valid
def form_valid(self, form):
#custom logic here
return super(Index,self).form_valid(form)

#OPTIONAL:for custom logic if the form is invalid
def form_invalid(self, form):
#custom logic here
return super(Index,self).form_invalid(form)

在 html 中不要忘记放一些类似的东西:

{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}

关于python - 将应用程序中的联系表单插入 Django 中的类 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55803916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com