小编Ror*_*ory的帖子

Django性能测试套件,它将报告指标(数据库查询等)

我有一个复杂的Django Web应用程序,其中包含许多人年的工作.有时可能需要优化.我可以编写几个常见的操作/流程(例如)django的测试客户端.是否有一些程序,如果有这样的python脚本,将运行,并报告各种django特定的性能指标,如'运行的SQL查询数'.

基本上类似于单元测试套件,但不是报告"0测试失败",而是报告"X db查询已经完成"

我自己可以写这个,这不是一个复杂的问题,但我想知道以前有人做过.

我知道Django调试工具栏,它可以做很多这个,但是有更多的"命令行",可以在很多页面上工作,而不是一次页面刷新.同样地获得实际查询相对容易.但有没有人把整个事情包裹在脚本/库中?

python django performance django-orm

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

Django-South DataMigration - 应用程序可用于转发()但不能倒退()?

我正在编写一个django南迁移,这取决于另一个应用程序中的模型,所以我--freeze OTHERAPPNAME在运行时已经包含了python manage.py datamigration …

但是在forwards()函数中我可以正常访问其他模型(带orm['otherappname.MyModelName']),但是在backwards()步骤中(这也取决于其他名称中的模型),如果我尝试访问orm['otherappname.MyModelName'],我会收到错误

*** KeyError: "The model 'mymodelname' from the app 'otherappname' is not available in this migration."
Run Code Online (Sandbox Code Playgroud)

我可以在文件底部看到冻结的模型细节.为什么我不能访问它?

注意:此模型是在此数据迁移所依赖的其他迁移内创建的.

python migration django database-migration django-south

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

现在复位已经消失,如何删除Django 1.4中一个应用程序的所有数据?

如何在Django应用程序中删除数据库中的所有数据?在之前的版本中manage.py reset APPNAME完成了这项工作,但已被弃用.

如果我们想要使用命令行删除应用程序中的所有数据,我们现在应该做什么?

django django-1.4

6
推荐指数
3
解决办法
8687
查看次数

每按一次键一次函数回调(无论哪个窗口有焦点)?

我想在Linux(Ubuntu Linux 9.10)上编写一个程序(在python中),它将跟踪我每秒/分钟的按键次数.这包括普通字母键和控制/移位/空格/等.

有没有办法挂钩到X,以便我可以说"当按下一个键时调用这个函数?".因为我希望在我正常工作的同时在后台运行,所以这个函数调用必须能够知道所有程序的所有按键操作.我想它有点像键盘记录器.

这只是个人的事情,所以我不关心它是否可以在Windows/OSX上运行,我不关心人们什么时候有花哨的远程X会话等.

python linux keypress xorg keylogger

5
推荐指数
2
解决办法
4953
查看次数

Python unittest - 使用自定义TestSuite调用unittest.main()

我正在用python进行单元测试.我没有使用任何自动测试发现.我组装TestCasesTestSuite手动.

我可以运行这些测试unittest.TextTestRunner().run(suite),我想运行它们,unittest.main()以便我可以使用命令行选项(如-v/ --failfast).文档说unittest.main()可以采用TestRunner选项.

如何将我TestSuite转换为TestRunner

python testing unit-testing

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

Django - 模型中的ManyToManyField,将其设置为null?

我有一个django模型(A),它有一个ManyToManyField(类型)到另一个模型(B).从概念上讲,A中的字段是"可选地将此对象限制为这些值".我已经设置blank=nullnull=True在ManyToManyField.我已经从这个模型创建了一个对象,并将类型设置为某些值.一切都很好.

我想将其设置为'null',即禁用它.但是在django shell中,我收到以下错误:

>>> o.types.all()
[<Type: foo>, <Type: bar>]
>>> o.types = None
File "<console>", line 1, in <module>
File ".../virtualenv/lib/python2.6/site-packages/django/db/models/fields/related.py", line 627, in __set__
manager.add(*value)
TypeError: add() argument after * must be a sequence, not NoneType
Run Code Online (Sandbox Code Playgroud)

我可以成功地将它设置为[](空列表),但我想将其设置为None,因为我想使用None作为信号/标志.这在Django模型中是否可行?

我正在使用Django 1.1

python django django-models manytomanyfield

5
推荐指数
2
解决办法
4863
查看次数

jQuery - 节点属性更改时的事件

我有一个带有外部JavaScript库的网页,以及我自己的额外代码.外部库无法更改.它操纵dom元素,添加新元素,更改属性(例如src在某些<img>节点上等).我正在使用jQuery.是否有任何事件处理程序在属性值更改节点时触发?

即有反正我可以检测(jQuery中)时src<img>改变(由其他人?)

javascript jquery dom-events

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

Facebook - 你需要一个Facebook应用程序/ appid来调用FB.ui(stream.publish)吗?

我想在我的网站上添加一个按钮,所以当人们点击它时,他们会在消息上发布消息到他们的Facebook状态提要(我很好,他们必须批准它).FB.uistream.publish看起来像我想要什么.

FB.initFacebook文档指出:

注意:可以使用某些UI方法(如stream.publish和stream.share)而无需注册应用程序或调用此方法.

所以我不需要注册一个Facebook应用程序,非常棒.但是我不能FB.ui(… 'stream.publish…)上班.弹出窗口显示"发生错误.请稍后再试.".我没有使用FB.init,也没有使用appid.(所有这些都是在JavaScript中完成的).

网上有一些笔记,你现在需要一个app id才能使用stream.publish.这是真的?你需要appid来使用stream.publish吗?

我的代码是这样的:

$(function() {
  $("#share_on_facebook").click(function() {
    FB.ui({
      method: 'stream.publish',
      message: 'Check out this great app! http://apps.facebook.com/{your_app}'
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

我可以stream.share在不需要appid的情况下打电话(如文档所述).这只是stream.publish我做不到的.

javascript facebook

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

用gstreamer和gst-launch循环播放视频?

我可以在gstreamer的命令行上播放视频gst-launch:

gst-launch gnlfilesource location=file:///tmp/myfile.mov start=0 duration=2000000000 ! autovideosink
Run Code Online (Sandbox Code Playgroud)

这将在/tmp/myfile.mov中播放文件的前2秒,之后视频播放停止.无论如何要让它重复循环?gnlfilesource即将2秒长转为无限长度的视频,一次又一次播放2秒钟?

linux video video-processing gstreamer gnonlin

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

为什么wdiff不适用于命名管道

为什么我能用bash做到这一点:

$ diff -u <(echo -e "line1\nline2") <(echo -e "line1\nline3")
--- /dev/fd/63  2009-03-30 09:49:07.527272646 +0100
+++ /dev/fd/62  2009-03-30 09:49:07.527272646 +0100
@@ -1,2 +1,2 @@
 line1
-line2
+line3
Run Code Online (Sandbox Code Playgroud)

即我可以使用命名管道/进程替换来获得一小块文本的差异.然而,当我尝试使用wdiff时,单词的差异,而不仅仅是行,我没有得到有用的输出

wdiff <(echo -e "line1\nline2") <(echo -e "line1\nline3")
[--]{++}
Run Code Online (Sandbox Code Playgroud)

更新:看起来有一个现有的ubuntu错误报告:https://bugs.launchpad.net/ubuntu/+source/wdiff/+bug/160912

linux bash diff

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