You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中如何携带JSON数据发起POST请求

前置配置

  1. 先在Django项目的urls.py中为该视图绑定访问路由,示例配置:
from django.urls import path
from . import views

urlpatterns = [
    # 可自定义路径,示例为/jiranewsprint/
    path('jiranewsprint/', views.jiranewsprint, name='jiranewsprint'),
]
  1. 处理CSRF校验:Django默认对POST请求开启CSRF校验,如果你是用外部客户端发起请求,两种处理方案二选一:
  • 给视图添加@csrf_exempt装饰器跳过校验(测试环境使用,生产环境按需开启):
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def jiranewsprint(request):
    # 原有代码逻辑不变
  • 请求头中携带当前会话的X-CSRFToken令牌值。
  1. (可选)如果要限制该视图仅接受POST请求,可添加@require_POST装饰器:
from django.views.decorators.http import require_POST
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
@require_POST
def jiranewsprint(request):
    # 原有代码逻辑不变

发起POST请求的几种常用方式

假设你的Django服务运行在本地127.0.0.1:8000,路由配置为/jiranewsprint/:

方式1:curl命令行发起

curl -X POST http://127.0.0.1:8000/jiranewsprint/ \
-H "Content-Type: application/json" \
-d '{
    "issue": {
        "fields": {
            "customfield_10200": "替换为实际的迭代名称"
        }
    }
}'

方式2:Python requests库发起

import requests
import json

url = "http://127.0.0.1:8000/jiranewsprint/"
# 按你代码的取值路径构造JSON payload即可
payload = {
    "issue": {
        "fields": {
            "customfield_10200": "Sprint_202405"
        }
    }
}
headers = {
  "Content-Type": "application/json"
}

response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.status_code) # 正常请求会返回200

方式3:前端fetch发起请求

const url = 'http://127.0.0.1:8000/jiranewsprint/'
const payload = {
    issue: {
        fields: {
            customfield_10200: "前端传入的迭代名称"
        }
    }
}

fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    // 未关闭CSRF校验的话需要加下面这行
    // 'X-CSRFToken': 你获取到的CSRF令牌值
  },
  body: JSON.stringify(payload),
}).then(res => console.log(res.status))

请求发送成功后,你的视图代码会正确解析传入的JSON数据,取到customfield_10200的值后构造sandboxcall参数。


内容的提问来源于stack exchange,提问作者Rituparna Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:57:01