Django开发公众号post请求错误;Django中使用POST方法报错 URL via POST, but the URL doesn't end in a slash

Django seetings.py配置文件中默认没有 APPEND_SLASH 这个参数,但 Django 默认这个参数为 APPEND_SLASH = True。 作用就是自动在网址结尾加'/'。

如下URL视图:

urls.py:
--------
from django.conf.urls import patterns, include, url
from wx.views import wx

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^wx/$', wx),
)

因定义了wx/结尾:

http://example.com/wx
 
自动转到
 
http://example.com/wx/

默认地,任何不匹配或尾部没有斜杠(/)的申请URL,将被重定向至尾部包含斜杠的相同字眼的URL。

当 seetings.py 设置为 APPEND_SLASH = False 时,访问 http://example.com/wx 将会返回 404。

所以在用django开发公众号时,你的url配置可能 http://******/wx没有以斜杆("/")结尾,你的urls.py中可能也是

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^wx$', wx),
)

这时候公众号有post请求时,就会出错,提示该公众号提供的服务出现故障,请稍后再试。一定得先检测urls.py有没有配置对先。只要修改以下urls.py就可以

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^wx$', wx),
)

猜你喜欢

转载自blog.csdn.net/shuzishij/article/details/81906117