指定Django url中的as_view方法.(GET, POST等)



我有一些类(APIView),显然我包括他们在我的url .py。问题是,如果有一种方法,可以指定方法,当我使用这样的结构:

path('mods/mix', MixCUD.as_view()),
path('mods/mix/update/<int:mixId>', MixCUD.as_view()),
path('mods/mix/delete/<int:mixId>', MixCUD.as_view()),

因为,如果我理解正确的话,我可以从mod/mix/update/int:mixId地址调用MixCUD的删除方法。

我需要这样写:

path('mods/mix', MixCUD.as_view([POST])),
path('mods/mix/update/<int:mixId>', MixCUD.as_view([UPDATE])),
path('mods/mix/delete/<int:mixId>', MixCUD.as_view([DELETE])),

我不能把它们都改成一个地址,所以我必须设法做到这一点。

你可以使用传递额外的选项来查看函数

path('mods/mix', MixCUD.as_view(), {"action": "POST"}),
path('mods/mix/update/<int:mixId>', MixCUD.as_view(), {"action": "UPDATE"}),
path('mods/mix/delete/<int:mixId>', MixCUD.as_view(), {"action": "DELETE"}),

然后你可以在视图中使用self.kwargs,输出将是::

{"action": "POST"}

最新更新