这篇文章是对上一个问题的跟进:Django request.POST 为空我在 Visual Studio 2015 上启动并运行了 Python 3.5.4 和 Django 1.11.13项目。我后来更新到 Django 2.1.2,因为我想导入“路径”模块,以便我可以使用它:urlpatterns = [ path ( '', c_views.Indice, name = 'indice' ), path ( '<int:CompiladoID>', c_views.Detalle, name = 'detalle'), path ( 'elementos/<int:CompiladoID>', c_views.Elementos, name = 'elementos'), path ( 'datoselementos/<int:ElementoID>', c_views.DatosElemento, name = 'datoselemento'),...而不是这个:urlpatterns = [ url ( r'^$', c_views.Indice, name = 'indice'), url ( r'^(?P<CompiladoID>\d+)/$', c_views.Detalle, name = 'detalle' ), url ( r'^(?P<CompiladoID>\d+)/elementos$', c_views.Elementos, name = 'elementos' ), url ( r'^(?P<CompiladoID>\d+)/generar$', c_views.Generar, name = 'generar' ),我觉得更容易声明和阅读。在此更改之后,我开始遇到 request.POST 问题。我收到了“请求”响应,但 POST 为空,如下所示:事实上,我最初并没有意识到这一点。我花了 3 天时间,与我恢复的备份副本进行比较,才意识到 Django 版本不同。也就是说,我对新版本的 Django 不应该能够做旧版本所做的事情感到困惑,除非发生了我不知道的变化。我只用 Python/Django 工作了几个月,有人能告诉我这是否有原因吗?我可以不使用path代替url我urlpatterns使用的 Django 2.1.2 吗?
1 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
MIDDLEWARE_CLASSES
在 Django 1.10 中被弃用并在 Django 2.0 中删除。你应该MIDDLEWARE
改用。
您应该删除,SessionAuthenticationMiddleware
因为自 Django 1.10 以来不再需要它。
Django 1.11 给出了一个弃用警告,你应该从 切换MIDDLEWARE
,但你一定错过了这个。在升级 Django 之前,最好阅读发行说明并修复任何弃用警告。有关更多信息,请参阅升级指南。
添加回答
举报
0/150
提交
取消