小编Gin*_*nko的帖子

os.path.isdir() 在无法访问但存在的目录上返回 false

假设我有以下目录:

foo/bar/

barchmod 777并且foo是 000。

当我调用os.path.isdir('foo/bar')它时,它只返回 False,没有任何 Permission Denied Exception 或任何东西,为什么会这样?它不应该返回 True 吗?

python unix

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

在单元测试中将 kwargs 传递给基于类的视图

我有这样的测试:

def test_getting_delete_view_invokes_point_changes_and_returns_status_200(self, point_changes):
        request = RequestFactory().get(reverse('questions:delete-help', kwargs={'pk': 1}))
        view = DeleteHelp.as_view()
        view.kwargs['pk'] = 1
        response = view(request)
Run Code Online (Sandbox Code Playgroud)

我的视图功能:

class DeleteHelp(DeleteView, LoginRequiredMixin):

    model = Help
    template_name = 'confirm_deletion.html'

    def get_object(self, queryset=None):
        return get_object_or_404(Help, pk=self.kwargs['pk'], author=self.request.user)

    def get_success_url(self):
        point_pk = self.object.answer_to.plan_point.point_of.id
        point_changes(point_obj=self.object.answer_to.plan_point)
        return reverse('plans:display-public', args=[point_pk])
Run Code Online (Sandbox Code Playgroud)

问题是,我应该如何在那里传递“pk”?我KeywordError 'pk'在 get_object 方法中不断收到错误消息。如果我self.client用来访问此视图,那么它可以工作(为什么?),但我想使用 RequestFactory。

任何帮助,将不胜感激。

python testing django unit-testing

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

标签 统计

python ×2

django ×1

testing ×1

unit-testing ×1

unix ×1