我正在尝试通过输出 Json 在 Django 中制作 REST Api。如果我在终端中使用 curl 发出 POST 请求,我会遇到问题。我得到的错误是
您通过 POST 调用了此 URL,但该 URL 不以斜杠结尾,并且您设置了 APPEND_SLASH。Django 在维护 POST 数据时无法重定向到斜杠 URL。将表单更改为指向 127.0.0.1:8000/add/(注意尾部斜杠),或在 Django 设置中设置 APPEND_SLASH=False。
我的 url.py 是
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'),
)
我的观点是
# 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)
我知道它没有给 Json,但是当我在终端发出 POST 请求时遇到了上述问题
curl http://127.0.0.1:8000/add/ -d b=2 >> output.html
不过,我是 django 的新手。