小编Gob*_*ias的帖子

Django Rest Framework - 针对URL过滤 - TypeError as_view()只需1个参数(给定3个)

所以我正在尝试使用Django Rest Framework.它将作为Ionic混合应用程序的REST API.我需要能够使用街道名称参数(基于用户GPS位置最近的街道)从应用程序发送请求,该请求返回包含该街道名称的数据.我正在尝试按照文档中的URL指南进行过滤.

我的代码看起来像这样:

**urls.py**
router = DefaultRouter()
router.register(r'notes', views.NoteView, base_name='notes')

urlpatterns = patterns('',
                   url(r'^api/', include(router.urls)),namespace='rest_framework')),
                   url('^notes/(?P<location>.+)/$', views.NoteView.as_view()),
)

**serializers.py**
class NoteSerializer(serializers.ModelSerializer):
    place = serializers.StringRelatedField()

    class Meta:
        model = Note
        fields = ('text_content', 'from_date', 'place')

**views.py**
class NoteView(generics.ListAPIView):
    serializer_class = NoteSerializer

    def get_queryset(self):
        location = self.kwargs['location']
        wreturn Note.objects.filter(place__name__contains=location)
Run Code Online (Sandbox Code Playgroud)

我在正则表达式方面不强,但我想我需要在localhost/api/notes/streetname /中查询api以获取该街道名称的数据?

会发生什么是我得到错误:/ api/notes/Vestergade/as_view()中的TypeError只需要1个参数(给定3个)

堆栈跟踪:

Environment:

Request Method: GET
Request URL: http://localhost:8000/api/notes/Vestergade/

Django Version: 1.8
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'rest_framework', …
Run Code Online (Sandbox Code Playgroud)

python api django rest django-rest-framework

1
推荐指数
1
解决办法
3837
查看次数

标签 统计

api ×1

django ×1

django-rest-framework ×1

python ×1

rest ×1