重定向到success_url不适用于django 1.10
我有一个非常简单的联系我们表单,但是成功url不起作用。表单提交成功后,页面未重定向到主页 我遵循了这里提供的文档 正在调用form_valid,但没有重定向到Success_url,并且没有错误 谢谢你的帮助 -------------更新----------------- forms.py重定向到success_url不适用于django 1.10,django,django-class-based-views,django-1.10,Django,Django Class Based Views,Django 1.10,我有一个非常简单的联系我们表单,但是成功url不起作用。表单提交成功后,页面未重定向到主页 我遵循了这里提供的文档 正在调用form_valid,但没有重定向到Success_url,并且没有错误 谢谢你的帮助 -------------更新----------------- forms.py class ContactForm(forms.Form): name = forms.CharField(widget = TextInput(attrs={'placeholder': 'Yo
class ContactForm(forms.Form):
name = forms.CharField(widget = TextInput(attrs={'placeholder': 'Your Name'}))
email = forms.CharField(widget = EmailInput(attrs={'placeholder': 'Email'}))
phone = forms.CharField(widget = TextInput(attrs={'placeholder': 'Phone'}))
comment = forms.CharField(widget = forms.Textarea(attrs={'placeholder': 'Please write a comment'}))
def send_email(self):
# send email using the self.cleaned_data dictionary
print("email sent!")
url.py
import web.views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^contact/', web.views.ContactFormView.as_view(), name='contact'),
url(r'^$', web.views.home, name='home')
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
contact.html
<div class="as-form">
<form method="post" class="myform" action="{% url 'contact' %}">
{% csrf_token %}
{% if form.errors %}{{ form.errors }}{% endif %}
<p> {{form.name}} </p>
<p> {{form.phone}} </p>
<p> {{form.email}} </p>
<p class="as-comment"> {{form.comment}} </p>
<hr>
<p class="as-submit"> <input type="submit" value="Submit" class="as-bgcolor"> </p>
</form>
</div>
{%csrf_令牌%}
{%if-form.errors%}{{form.errors}{%endif%}
{{form.name}
{{form.phone}}
{{form.email}
{{form.comment}
我不知道您是如何设置它的,但下面的代码非常出色(Django 1.10、Python 3.5)
#url.py
URL模式=[
url(r'^$',主视图,name='home'),
url(r“^form/$”,ContactFormView.as_view(),name='contact')
]
#forms.py
班级联络表(forms.Form):
name=forms.CharField(最大长度=20)
def发送电子邮件(自我):
打印('已发送电子邮件!')
#views.py
#您的联系人按原样查看
#contact.html
{%csrf_令牌%}
{%if-form.errors%}{{form.errors}{%endif%}
{{form.as_p}}
如果您硬编码success\u url
而不是使用reverse\u lazy
,您会得到什么?请同时提供mixin类实现successessagexin我已经完成了硬编码successessessagexin和删除的successessagexin,并且没有任何更改。顺便说一句,Successessagexin是来自django.contrib.messages.views的django mixin导入Successessessagexin您找到了吗?没有。。。不知道发生了什么事。
<div class="as-form">
<form method="post" class="myform" action="{% url 'contact' %}">
{% csrf_token %}
{% if form.errors %}{{ form.errors }}{% endif %}
<p> {{form.name}} </p>
<p> {{form.phone}} </p>
<p> {{form.email}} </p>
<p class="as-comment"> {{form.comment}} </p>
<hr>
<p class="as-submit"> <input type="submit" value="Submit" class="as-bgcolor"> </p>
</form>
</div>
# urls.py
urlpatterns = [
url(r'^$', home_view, name='home'),
url(r'^form/$', ContactFormView.as_view(), name='contact')
]
# forms.py
class ContactForm(forms.Form):
name = forms.CharField(max_length=20)
def send_email(self):
print('Email sent!')
# views.py
# Your ContactFormView as is
# contact.html
<form action="" method="post">{% csrf_token %}
{% if form.errors %}{{ form.errors }}{% endif %}
{{ form.as_p }}
</form>