django - 在 Django url 中的 as_view 中指定方法。(获取、发布等)
问题描述
我有一些带有(APIView)的类,显然我将它们包含在我的 urls.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()),
因为,如果我理解正确,我可以从 mods/mix/update/int:mixId 地址调用 MixCUD 的 delete 方法。
所以我需要这样的东西:
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"}
推荐阅读
- scala - 如何计算 Scala 中二维列表中元素的出现次数?
- swift - 扩展和直接调用协议的区别
- android - 带有 MaterialComponents 主题的 Android FAB 图标始终为黑色
- android - Xamarin.android,从对话框片段打开图像选择器意图
- c++ - cv::Mat GREY 转 RGBA 并转换为 UIImage
- reactjs - React Native EStyleSheet 如何应用多种样式
- arm - ARMv8:XZR 在 LDUR/STUR 指令中使用汇编错误
- python - Pandas DataFrame 的条件平均值
- python - python请求模块重定向过多的问题
- java - 适用于 Linux 的 Windows 子系统无法识别 JAVA_HOME 环境变量