我在我的网站上使用包含标签和表单在页脚中添加了联系我们功能。它在除“主页”页面之外的所有页面上都运行良好,抛出此错误:
Method Not Allowed (POST): /
Method Not Allowed: /
[11/Jul/2020 01:31:18] "POST / HTTP/1.1" 405 0
以下是包含标签和表格:
@register.inclusion_tag('contact_us.html', takes_context=True)
def contact_form(context):
request = context['request']
context['success']=False
if request.method == 'POST':
form = ContactUsForm(request.POST)
if form.is_valid():
msg =form.save(commit=False)
msg.contact_user =request.user
msg.save()
# messages.success(request, 'Your message has been successfully sent!')
context['success']=True
form = ContactUsForm()
context['contact_form']=form
return context
class ContactUsForm(forms.ModelForm):
def __init__(self,*args,**kwargs):
super(ContactUsForm,self).__init__(*args,**kwargs)
self.fields['message'].widget.attrs['rows']=4
self.fields['message'].widget.attrs['placeholder'] = 'Your Message'
self.fields['message'].label =''
class Meta:
model =ContactUs
fields =('message',)
以下是联系我们的 html 的样子:
{% load crispy_forms_tags %}
{% if success %}<div>Your Message has been sent Successfully!</div>{% endif %}
<form action="" method="POST" class="row mt-2">
<div class="col-md-10">
{% csrf_token %}
{{contact_form|crispy}}
</div>
<div class="col-md-2">
<button class="btn btn-brand ml-2" type="submit">Submit</button>
</div>
</form>
它仅在主页上引发错误 405。