Tôi đang cố gắng tạo một REST Api ở Django bằng cách xuất Json. Tôi gặp vấn đề nếu tôi thực hiện một yêu cầu POST bằng cách sử dụng curl trong terminal. Lỗi tôi nhận được làLỗi URL POST Django
Bạn đã gọi URL này qua POST nhưng URL không kết thúc bằng dấu gạch chéo và bạn đã đặt APPEND_SLASH. Django không thể chuyển hướng đến URL cắt giảm trong khi duy trì dữ liệu POST. Thay đổi biểu mẫu của bạn để trỏ đến 127.0.0.1:8000/add/ (lưu ý dấu gạch chéo sau) hoặc đặt APPEND_SLASH = False trong cài đặt Django của bạn.
url.py tôi là
from django.conf.urls.defaults import patterns, include, url
import search
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
urlpatterns = patterns('',
url(r'^query/$', 'search.views.query'),
url(r'^add/$','search.views.add'),
)
và quan điểm của tôi là
# Create your views here.
from django.http import HttpResponse
from django.template import Context,loader
import memcache
import json
def query(request):
data=['a','b']
mc=memcache.Client(['127.0.0.1:11221'],debug=0)
mc.set("d",data);
val=mc.get("d")
return HttpResponse("MEMCACHE: %s<br/>ORIGINAL: %s" % (json.dumps(val),json.dumps(data)))
def add(request):
#s=""
#for data in request.POST:
# s="%s,%s" % (s,data)
s=request.POST['b']
return HttpResponse("%s" % s)
Tôi biết nó không đưa ra Json nhưng tôi đang gặp vấn đề nêu trên khi tôi thực hiện yêu cầu POST trong thiết bị đầu cuối
curl http://127.0.0.1:8000/add/ -d b=2 >> output.html
Tôi chưa quen với django.
Cảm ơn bạn nhiều. @csrf_exempt đã hoạt động – Zabi