我正在学习使用django_rest_framework的RESTfull Web服务。我在urls.py中有这个:
urlpatterns = patterns('',
url(r'^tests/', 'Web_Services.views.test'),
)
我在views.py中有一个测试函数:
@api_view(['GET', 'POST'])
def test(request, format=None):
return Response({'Test OK!'})
我的问题是,当我将/?format = xml或json以外的任何内容添加到url时,我得到404错误。另一个问题:我收到Assignment to reserved built-in symbol: format
警告。我知道这意味着什么,但不是我决定称之为format
。我必须做些什么来解决这个问题。
答案 0 :(得分:0)
尝试将此添加到您的settings.py
:
REST_FRAMEWORK = {
...your other DRF settings
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.XMLRenderer',
'rest_framework.renderers.JSONRenderer',
)
}
请参阅此处的相关DRF文档:
http://www.django-rest-framework.org/api-guide/renderers#setting-the-renderers
我能想到的其他一些事情......也许这与你的网址模式没有$
有关,你能尝试一下吗?
url(r'^tests/$', 'Web_Services.views.test'),
另外,请确保您的数据是有效的JSON,请尝试返回["TestOK!]
。请注意双引号。
您是否在项目中定义了其他urlpatterns?