小编Mat*_*kel的帖子

使用与函数和方法相同的装饰器(带参数)

我一直在尝试创建一个可以在python中与函数和方法一起使用的装饰器.它本身就不那么难,但是当创建一个带参数的装饰器时,它似乎就是这样.

class methods(object):
    def __init__(self, *_methods):
        self.methods = _methods

    def __call__(self, func): 
        def inner(request, *args, **kwargs):
            print request
            return func(request, *args, **kwargs)
        return inner

    def __get__(self, obj, type=None):
        if obj is None:
            return self
        new_func = self.func.__get__(obj, type)
        return self.__class__(new_func)
Run Code Online (Sandbox Code Playgroud)

上面的代码正确地包装了函数/方法,但是在方法的情况下,request参数是它正在操作的实例,而不是第一个非自身参数.

有没有办法判断装饰器是否应用于函数而不是方法,并相应地处理?

python methods arguments function decorator

14
推荐指数
3
解决办法
4431
查看次数

验证:只有字母,数字和 -

我想验证我的用户,因此他们只能在用户名中使用az和 - .

validates_format_of :username, :with => /[a-z]/
Run Code Online (Sandbox Code Playgroud)

但是这个规则也允许空格._ @

Username should use only letters, numbers, spaces, and .-_@ please.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

最好的祝福.AsbjørnMorell

ruby regex ruby-on-rails

11
推荐指数
3
解决办法
2万
查看次数

你能看出Django Model实例是否"脏"吗?

我非常喜欢SQLAlchemy的功能,它允许您查看对象是否是脏的:如果它是从数据库中检索到的,或者是上次保存的话.

是否有可能从Django ORM中找到这些信息?

请注意,这与django中的脏字段不同,因为我不关心以前的数据是什么,虽然S.Lott的答案可能提供了一种方法,但我想要一种不会触及的方法数据库.

我也看过了django.db.transaction.is_dirty(),但这似乎不是解决方案.

django orm sqlalchemy

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

返回HTTP 409是否适合进行验证检查?

我有一项服务,其中必须检查一些验证规则,然后才能进行特定的操作.

例如,如果未满足所有验证规则,则客户端不应生成可打印的报告.

但是,单个客户端可能没有所有必需的信息(用户可能只能访问用于确定验证成功的数据子集),因此必须将请求发送到服务器:基本上"是" thingstart和之间有效finish."

响应将是某种表示VALID: FEEL FREE TO CONTINUE可以呈现给用户的令牌,或者是验证失败原因的列表.

很明显,成功的验证将返回一个200 OK.但我不认为成功状态代码适合于验证失败.我倾向于a 409 Conflict,但我只是用它来拒绝PUT或者POST.是否有效(窃笑)以a表示验证失败409,或者有更好的方法吗?

注意:执行的操作不是在服务器上执行的,因此403在禁止操作的情况下跳过此检查,只是尝试操作不是一个选项.

validation http http-status-codes

11
推荐指数
2
解决办法
8847
查看次数

我如何只提交subrepo的更改?

我有一个主仓库,它有一些我不想提交的更改.

我有一个subrepo,其中包含已经提交的更改.

我想在我的主仓库中提交更改子订单修订版,而不将更改提交到主仓库中的文件.

我似乎无法做到这一点.我无法提交.hgsubstate,并对要提交的文件进行微不足道的更改,而不会将子寄存器更改提交到主存储库.

mercurial subrepos

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

使用Bitbucket管道从docker实例SSH到staging机器

使用新的Bitbucket管道功能,如何从它旋转的docker容器SSH到我的分段盒?

我的管道中的最后一步是.sh在登台时部署必要代码的文件,但由于我的登台框使用公钥认证而不知道docker容器,因此SSH连接被拒绝.

无论如何不通过SSH使用密码身份验证来解决这个问题(通过不断选择通过公钥进行身份验证,这也导致了我的问题.)?

authentication ssh public-key docker bitbucket-pipelines

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

使用动态字段名称更新模型实例

我想要做的很简单:

f=Foobar.objects.get(id=1)
foo='somefield'
bar='somevalue'
f.foo=bar
f.save()
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为它试图更新f对象的'foo'字段,当然这不存在.我怎么能做到这一点?

python django

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

从整数中获取浮点值

如何从整数除法中获得浮点数或实数值?例如:

double result = 30/233;
Run Code Online (Sandbox Code Playgroud)

收益率为零.我想要带小数位的值.

然后我如何格式化,因此当与字符串一起使用时,只显示两个小数位?

c iphone objective-c

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

如何使用国际键盘消除Mac OS X上的死键?

键盘^¨~'`等在Mac OS X上的瑞典键盘上是死键(或半死不活,因为他们开始输入字母然后等待下一个字符直到做出决定).

如何关闭它以使它们完全生效?

macos

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

Django管理文件上传不起作用,我该如何调试呢?

我在Mac Leopard上.试图获取django管理文件上传,或真正的图像上传工作.在我的应用程序的models.py中,我将字段设置为:

image = models.FileField(upload_to='images', max_length=500)
Run Code Online (Sandbox Code Playgroud)

(从ImageField开始,但是如果文件不起作用,那么图像肯定不起作用)

它说上传发生了.给我一个积极的结果.保存我的数据库的路径.但是,寻找文件,嗯,它不存在.

由于没有错误消息,因此很难调试.尝试了各种权限,但没有任何工作.

有任何想法吗?

django

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