這篇文章是對上一個問題的跟進: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 不應該能夠做舊版本所做的事情感到困惑,除非發(fā)生了我不知道的變化。我只用 Python/Django 工作了幾個月,有人能告訴我這是否有原因嗎?我可以不使用path代替url我urlpatterns使用的 Django 2.1.2 嗎?
1 回答

牛魔王的故事
TA貢獻1830條經(jīng)驗 獲得超3個贊
MIDDLEWARE_CLASSES
在 Django 1.10 中被棄用并在 Django 2.0 中刪除。你應該MIDDLEWARE
改用。
您應該刪除,SessionAuthenticationMiddleware
因為自 Django 1.10 以來不再需要它。
Django 1.11 給出了一個棄用警告,你應該從 切換MIDDLEWARE
,但你一定錯過了這個。在升級 Django 之前,最好閱讀發(fā)行說明并修復任何棄用警告。有關更多信息,請參閱升級指南。
添加回答
舉報
0/150
提交
取消