我试图找出如何使用Django和django-rest-interface实现我的第一个RESTful接口.我遇到了HTTP PUT请求的问题.
如何访问PUT请求的参数?我以为它们会在request.POST数组中,因为PUT在我的理解中有点类似于POST,但是该数组总是空的.
我究竟做错了什么?
谢谢您的帮助
我正在尝试使用 curl 的 put 请求向本地服务器发出 put 请求:
curl -X PUT -H "Content-Type: application/json" -d '{"connid":"12"}' "127.0.0.1:8000/api/kill"
Run Code Online (Sandbox Code Playgroud)
我收到相同的回复:
'WSGIRequest' 对象没有属性 'PUT'
对于以下代码:
def kill(req):
conid = req.PUT['connid']
statusres = {}
if conid in state:
error[conid] = 'true'
statusres['status'] = 'ok'
else:
statusres['status'] = 'invalid connection Id : '+ conid
return JsonResponse(statusres)
Run Code Online (Sandbox Code Playgroud)
我@csrf_exempt之前也用过这个函数。
我正在尝试在 Django 应用程序的 Bootstrap 模式中显示产品的详细信息。
我将此主题作为参考:堆栈溢出问题。
但是我收到了 500 内部服务器错误。回应是:
NoReverseMatch at /catalog/product-detail/
'system' is not a registered namespace
Run Code Online (Sandbox Code Playgroud)
关于我做错了什么的任何线索或关于如何实现我的目标的任何建议?
谢谢!
HTML - AJAX 函数调用
<div class="row">
{% for y in productos %}
{% if y.categoria_producto|stringformat:"s" == objetivo %}
<button data-id="{{y.id}}" type="button" class="btn btn-warning margin-bottom delete-company" >delete</button>
{% endif %}
{% endfor %}
{% csrf_token %}
</div>
Run Code Online (Sandbox Code Playgroud)
AJAX 代码
$(document).on('click','.delete-company',function(){
var id = $(this).data('id');
$.ajax({
url:'/catalog/product-detail/',
type:'POST',
data:{
'id':id,
'csrfmiddlewaretoken': $('input[name=csrfmiddlewaretoken]').val(), …Run Code Online (Sandbox Code Playgroud)