小编War*_*ick的帖子

如何使用Jasmine BDD测试文件上传

我正在使用jQuery文件上传插件来管理图像文件上传.使用Jasmine测试图像提交的正确方法是什么.

javascript jasmine

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

如何在 Django OAuth Toolkit 中撤销应用程序授权?

我正在使用 Django Rest Framework 和Django OAuth Toolkit实现 OAuth2 提供程序。

Django OAuth Toolkit 已经拥有一组用于管理 OAuth 应用程序的视图。此视图允许第三方应用程序开发人员在应用程序模型上执行基本的 CRUD。还有一个供资源所有者授权第三方应用程序的示例视图。

但是我无法找到资源所有者撤销第三方应用程序授权的正确方法。有一个撤销令牌端点,但如果我做对了,它会起到不同的作用。

本质上,我尝试构建一个类似于 GitHub 的“授权应用程序”页面的视图:

在此输入图像描述

看起来RefreshToken 模型是我应该用来列出连接的模型。但当用户重新授权该应用程序时,其工作效果并不如预期。每次成功授权提示后都会创建 RefreshToken 实例,并且连接列表会随着重复项的增加而增长。

有人使用 Django OAuth Toolkit 成功实现了类似的视图吗?

python django oauth

5
推荐指数
0
解决办法
727
查看次数

在Django Rest Framework中添加特定的方法处理程序detail_route

我有一个使用Django Rest Framework构建的API.有一个ViewSet在它detail_route了,我就是想用处理嵌套数据:

from rest_framework.mixins import (RetrieveModelMixin, CreateModelMixin, 
                                   ListModelMixin)
from rest_framework.viewsets import GenericViewSet

class UserViewSet(RetrieveModelMixin, CreateModelMixin, ListModelMixin, 
                  GenericViewSet)

    ...

    @detail_route(methods=['get'], url_path='photos')
    def photos(self, request):
        return Response(self.get_photos())

    @detail_route(methods=['post'], url_path='photos')
    def new_photo(self, request, pk=None):
        a_new_photo = Photo(user=self.request.user)
        serializer = PhotoSerializer(data=request.data,
                                     instance=new_photo)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data,
                            status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)

所以我的意图是让它ViewSet来处理这样的URL GETPOST请求:

/api/users/42/photos
Run Code Online (Sandbox Code Playgroud)

哪里GET会返回用户ID#42的照片列表,并POST会向该用户添加一张新照片.

但是,此视图只处理一种方法:POST.因为GET它返回一个错误:

{"detail":"Method \\"GET\\" not allowed."}
Run Code Online (Sandbox Code Playgroud)

如何单独处理每个HTTP方法detail_route

当我为此视图输出路由时,调试不会显示任何明显的覆盖:

Route(url=u'^{prefix}/{lookup}/photos{trailing_slash}$', mapping={'post': …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

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

AngularJS:将REST与Socket.IO结合起来

在我最近构建的单页webapp中,我使用Restangular模块为我的模型获取数据.我想为应用添加实时更新,因此无论何时在服务器上更改或添加任何模型,我都可以更新我的模型列表.

我已经看到这在Trello等Web应用程序中运行良好,您可以在不刷新网页的情况下查看更新.我确信Trello webclient使用REST API.

如何构建服务器和客户端来存档它的正确方法是什么?

rest socket.io angularjs

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

如何在新的应用程序部署中将数据库与 Flask-Migrate 同步?

将应用程序部署到新服务器(即数据库为空)时,如何使用 Flask-Migrate 正确同步数据库?

当我已经有了一些架构时,我已经将 Flask-Migrate 添加到项目中,所以我没有“初始”迁移所有create_table(). 现在,当我manage.py db upgrade在部署脚本中执行此操作时,我得到relation "..." does not exist.

是否有任何内置方法来检测空数据库并运行“create_all()”而不是迁移?这就是 Alembic's Cookbook 的建议。由于我已经在使用 Flask-Migrate,因此我正在寻找某种统一的处理迁移方式。

python flask alembic flask-migrate

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