我开始使用DRF并在尝试设置一个简单的APIView时遇到了一些麻烦。
这是观点:
class SongSearchView(views.APIView):
def get(self, request, query, format=None):
return Response(['Justin Bieber - Boyfriend', 'Justin Timberlake - My Love'])
这些是网址格式:
router = DefaultRouter()
urlpatterns = patterns('',
url(r'^api/song_search/(?P<query>[a-zA-Z0-9\w]+)/$', views.SongSearchView.as_view()),
url(r'^admin/', include(admin.site.urls)),
url(r'^api/', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^$', views.index, name='index'),
)
当我尝试访问http://127.0.0.1:8000/api/song_search/?query=justin
时,我得到了
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/api/song_search/?query=justin
问题是什么? :(
答案 0 :(得分:4)
您的Url模式正则表达式错误..如果您仍想坚持当前的网址格式,我建议您更改您的请求网址
http://127.0.0.1:8000/api/song_search/?query=justin
至http://127.0.0.1:8000/api/song_search/justin