相关疑难解决方法(0)

在ModelViewSet中使用django-rest自定义URL

我在向django-rest-framework中的ModelViewSet添加自定义URL时遇到问题.这是我的主要urls.py的一个例子

router = routers.DefaultRouter()
router.register(r'post', PostViewSet)

urlpatterns = patterns('',
    url(r'^api/', include(router.urls)),
)
Run Code Online (Sandbox Code Playgroud)

我的modelviewset看起来像

class PostViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = Post.objects.all()
    serializer_class = PostSerializer
    permission_classes = (permissions.IsAuthenticatedOrReadOnly, IsOwnerOrReadOnly,)
    search_fields = ('created')

    def pre_save(self, obj):
        obj.user = self.request.user


    #
    # based on the post type this will decide which serializer to use for the data
    def get_serializer_class(self):
        #
        # default is the Text role serializer
        return PostSerializer
Run Code Online (Sandbox Code Playgroud)

这对于像这样的网址来说非常有用

 /api/post/
Run Code Online (Sandbox Code Playgroud)

我希望得到一个固定的日子

/api/post/yyyy/mm/dd/
Run Code Online (Sandbox Code Playgroud)

或者我应该使用类似的东西 …

django django-rest-framework

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

django-rest-framework和自定义路线

我有以下设置.

router = routers.DefaultRouter()
router.register(r'post', PostViewSet)
Run Code Online (Sandbox Code Playgroud)

然后在我的urlpatterns

url(r'^api/', include(router.urls)),
Run Code Online (Sandbox Code Playgroud)

然后在我的views.py中

 class PostViewSet(viewsets.ModelViewSet):
Run Code Online (Sandbox Code Playgroud)

现在,这对我的用例非常有效,但我也想做一些这样的事情来获取某一天的数据

/api/post/2013/08/09/
Run Code Online (Sandbox Code Playgroud)

这将取出当天的所有数据..我有点不确定如何在django-rest做自定义路线

django routes django-rest-framework

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

标签 统计

django ×2

django-rest-framework ×2

routes ×1