在我的应用程序中,我想在新用户注册时在某些表中创build条目。 例如,我想创build一个用户configuration文件,然后引用他们的公司和其他一些logging。 我用post_save信号实现了这个: def callback_create_profile(sender, **kwargs): # check if we are creating a new User if kwargs.get('created', True): user = kwargs.get('instance') company = Company.objects.create(name="My Company") employee = Employee.objects.create(company=company, name_first=user.first_name, name_last=user.last_name) profile = UserProfile.objects.create(user=user, employee=employee, partner=partner) # Register the callback post_save.connect(callback_create_profile, sender=User, dispatch_uid="core.models") 运行时运行良好。 我可以使用pipe理员创build一个新的用户,其他三个表也可以通过合理的方式获得条目。 (除了user.first_name和user.last_name之外的员工,在保存的时候并没有用pipe理员的forms填写,我还是不明白为什么这样做) 问题出现在我运行我的testing套件时。 在此之前,我创build了一堆灯具来在表格中创build这些条目。 现在我收到一个错误,指出: IntegrityError: duplicate key value violates unique constraint […]
有人可以解释以下吗? 为什么id相同,但是列表不同? >>> [] is [] False >>> id([]) == id([]) True 列表创build有区别吗? >>> id(list()) == id(list()) False >>> id([]) == id([]) True 为什么发生这种情况? 我得到两个不同的名单。 为什么不只一个,或三个或更多? >>> [].__repr__ <method-wrapper '__repr__' of list object at 0x7fd2be868128> >>> [].__repr__ <method-wrapper '__repr__' of list object at 0x7fd2be868170> >>> [].__repr__ <method-wrapper '__repr__' of list object at 0x7fd2be868128> >>> [].__repr__ […]
有没有办法find当前打开的文件对象的大小? 具体来说,我正在与tarfile模块来创buildtarfiles,但我不希望我的tarfile超过一定的大小。 据我所知,tarfile对象是类文件对象,所以我想一个通用的解决scheme将工作。
我需要输出4个不同的浮点数到小数点后两位。 这是我的: print '%.2f' % var1,'kg =','%.2f' % var2,'lb =','%.2f' % var3,'gal =','%.2f' % var4,'l' 这是非常不洁的,看起来不好。 有没有一种方法可以使浮动在'%.2f'? 注意:使用Python 2.6。
在我的Django应用程序中,我希望能够为我的一些模型的pipe理员更改表单添加自定义的帮助文本。 注意我没有谈论可以在单个字段上设置的特定于字段的help_text属性。 例如,在My_Model的My_App的变更表单的顶部,我希望能够添加一些说“有关我的模型的更多信息,请参阅http://example.com ”的HTML以提供一个链接到一个内部文档维基。 有没有简单的方法来完成这个,或者我需要为模型创build一个自定义的pipe理窗体? 如果是这样,你能给我一个我将如何做的例子吗?
在numpy数组上映射函数的最有效方法是什么? 我在当前项目中一直这样做的方式如下: import numpy as np x = np.array([1, 2, 3, 4, 5]) # Obtain array of square of each element in x squarer = lambda t: t ** 2 squares = np.array([squarer(xi) for xi in x]) 然而,这看起来可能是非常低效的,因为我使用列表parsing来构造新的数组作为Python列表,然后再将其转换回numpy数组。 我们可以做得更好吗?
我正在观看关于“Bit Hacking”的系列讲座 ,并且发现了两个整数的最小值: return x ^ ((y ^ x) & -(x > y)) 其中说比以前快: if x < y: return x else: return y 由于min函数可以处理两个以上的整数(浮点数,string,列表,甚至自定义对象),所以我认为调用min(x, y)会花费比上面优化的位更长的时间。 令我惊讶的是,他们几乎完全相同: >>> python -m timeit "min(4, 5)" 1000000 loops, best of 3: 0.203 usec per loop >>> python -m timeit "4 ^ ((5 ^ 4) & -(4 > 5))" 10000000 […]
我有以下django模板(http:// IP / admin / start /被分配到一个假设视图称为视图): {% for source in sources %} <tr> <td>{{ source }}</td> <td> <form action="/admin/start/" method="post"> {% csrf_token %} <input type="hidden" name="{{ source.title }}"> <input type="submit" value="Start" class="btn btn-primary"> </form> </td> </tr> {% endfor %} sources是在视图中引用的Django模型的objects.all() 。 无论何时单击“开始”提交input,我都希望“开始”视图在返回呈现的页面之前在函数中使用{{ source.title}}数据。 我如何收集信息张贴(在这种情况下,在隐藏的input)到Pythonvariables?
我正在写一个opencv程序,我发现另一个stackoverflow问题上的脚本: 计算机视觉:掩盖一个人的手 当我运行脚本答案时,出现以下错误: Traceback (most recent call last): File "skinimagecontour.py", line 13, in <module> contours, _ = cv2.findContours(skin_ycrcb, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) ValueError: too many values to unpack 代码: import sys import numpy import cv2 im = cv2.imread('Photos/test.jpg') im_ycrcb = cv2.cvtColor(im, cv2.COLOR_BGR2YCR_CB) skin_ycrcb_mint = numpy.array((0, 133, 77)) skin_ycrcb_maxt = numpy.array((255, 173, 127)) skin_ycrcb = cv2.inRange(im_ycrcb, skin_ycrcb_mint, skin_ycrcb_maxt) […]
我知道你可以使用setdefault(key,value)为给定的键设置默认值,但是有没有办法在创build一个dict之后将所有键的默认值设置为某个值? 换句话说,我想让字典为我还没有设置的每个键返回指定的默认值。