Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用django rest框架返回OPTIONS请求中的操作和参数_Python_Django_Django Rest Framework_Metadata_Django Countries - Fatal编程技术网

Python 如何使用django rest框架返回OPTIONS请求中的操作和参数

Python 如何使用django rest框架返回OPTIONS请求中的操作和参数,python,django,django-rest-framework,metadata,django-countries,Python,Django,Django Rest Framework,Metadata,Django Countries,我尝试返回使用django countries和django rest框架的国家的选择选项列表。我使用JWT_AUTH进行身份验证 当我尝试选项请求时: curl \ -H "Authentication: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFsYmVydG9fdmVudGEiLCJ1c2VyX2lkIjoyLCJlbWFpbCI6IiIsImV4cCI6MTUwODE2Mzg4Mn0.svxqTThCahS

我尝试返回使用django countries和django rest框架的国家的选择选项列表。我使用JWT_AUTH进行身份验证

当我尝试选项请求时:

curl \
  -H "Authentication: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFsYmVydG9fdmVudGEiLCJ1c2VyX2lkIjoyLCJlbWFpbCI6IiIsImV4cCI6MTUwODE2Mzg4Mn0.svxqTThCahSl1Vu27sMjuJyd1PRLk28-Xgn2OKKb5-g"\
  -X OPTIONS \
  -v http://127.0.0.1:8000/api/v1/core/perfilViajeroUserPass/
答复是:

{
 "name":"Perfil Viajero User Pass Create",
 "description":"",
 "renders":["application/json","text/html"],
 "parses":[
           "application/json",
           "application/x-www-form-urlencoded",
           "multipart/form-data"
          ]
}
但我认为默认情况下应该是这样的:

{
"name": "To Do List",
"description": "List existing 'To Do' items, or create a new item.",
"renders": [
    "application/json",
    "text/html"
],
"parses": [
    "application/json",
    "application/x-www-form-urlencoded",
    "multipart/form-data"
],
"actions": {
    "POST": {
        "note": {
            "type": "string",
            "required": false,
            "read_only": false,
            "label": "title",
            "max_length": 100
        }
    }
}
}


有人能帮我吗?谢谢。

如果您想更改某些内容:

  • name
    是视图的
    get\u view\u name
    ,它是稍微修改过的视图名称
  • description
    是视图的
    get\u view\u description
    ,它重写了视图的docstring

否则,如果您想要更复杂的内容,您可能需要自定义视图的元数据,如

我找到了解决方案中所述


我将视图类类型从
APIView
更改为
generics.CreateAPIView
,并知道它是有效的。非常感谢。

但是文档中说默认情况下包含操作:“下面是一个示例响应,演示了默认情况下返回的信息。”然后,要么您的视图有问题,要么您没有执行该操作所需的权限。我添加了权限\u类=(AllowAny,)以我的观点,所以我不知道错误在哪里