我是第一次使用DRF,我想知道他们网站上以下代码段中的“格式”是什么:
class CommentList(APIView):
def get(self, request, format=None):
# do stuff...
def post(self, request, format=None):
# do stuff...
我阅读了文档,但是我不确定它如何工作。有人可以给我一个例子吗?谢谢
答案 0 :(得分:1)
例如
假设它们是一个带有以下代码的 APIView :
class HelloAPIView(APIView):
def get(self, request, format):
# do stuff...
def post(self, request, format):
# do stuff...
HelloAPIView 的端点 url 是:
http://example.com/api/users
现在,如果您希望响应数据采用 json 格式,那么您将访问的 URL 会像
http://example.com/api/users.json
因此,当您像上面一样访问 url 时,值“json”将作为第三个参数传递(第一个是 self,第二个是 request > 和第三个是 format) 到 get() 或 post() 的 HelloAPIView 方法。
所以基本上 format 参数用于定义您想要响应的格式。
更多详情请参考
答案 1 :(得分:0)
添加格式以处理DRF中的多种内容类型
使用格式后缀可为我们提供明确引用给定格式的URL,这意味着我们的API将能够处理
之类的URL。http://localhost/api/items/4.json
向API的URLconf中的每个单独条目添加格式后缀模式很容易出错,并且不干燥,因此REST框架提供了将这些模式添加到URLConf的快捷方式。
有关更多详细信息,请参见this