小编Aka*_*sha的帖子

django-object-permissions vs django-guardian vs django-authority

我已经为Django 1.2+找到了3个行级权限解决方案

有人可以告诉是否有任何推荐比其他人更多,他们的主要区别是什么,等等?

django django-apps django-authentication django-permissions

33
推荐指数
2
解决办法
9885
查看次数

mongodb:UnknownError断言src/mongo/db/server_options_helpers.cpp:355

直到现在我都没有任何问题地运行mongodb.我真的不知道发生了什么,因为不记得什么都不做.不过,现在我尝试启动mongo服务器时出现以下错误.

$ mongod --config /usr/local/etc/mongod.conf
2015-01-22T13:58:04.153+0100 Assertion failure getcwd(buffer, 1000) src/mongo/db/server_options_helpers.cpp 355
2015-01-22T13:58:04.169+0100 0x1017ae5aa 0x101759135 0x101745bf2 0x1015509ed 0x10132b7a3 0x100fd2be6 0x100fc5291 0x100fd60be 0x100fd68ae 0x100fc41eb 0x7fff8aff35c9
 0   mongod                              0x00000001017ae5aa _ZN5mongo15printStackTraceERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE + 58
 1   mongod                              0x0000000101759135 _ZN5mongo10logContextEPKc + 453
 2   mongod                              0x0000000101745bf2 _ZN5mongo12verifyFailedEPKcS1_j + 626
 3   mongod                              0x00000001015509ed _ZN5mongo18storeServerOptionsERKNS_17optionenvironment11EnvironmentERKNSt3__16vectorINS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS9_ISB_EEEE + 10237
 4   mongod                              0x000000010132b7a3 _ZN5mongo18storeMongodOptionsERKNS_17optionenvironment11EnvironmentERKNSt3__16vectorINS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEENS9_ISB_EEEE + 35
 5   mongod                              0x0000000100fd2be6 _ZN5mongo45_mongoInitializerFunction_MongodOptions_StoreEPNS_18InitializerContextE + 38
 6   mongod                              0x0000000100fc5291 _ZN5boost6detail8function17function_invoker1IPFN5mongo6StatusEPNS3_18InitializerContextEES4_S6_E6invokeERNS1_15function_bufferES6_ + 17
 7   mongod                              0x0000000100fd60be _ZNK5mongo11Initializer7executeERKNSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEERKNS1_3mapIS8_S8_NS1_4lessIS8_EENS6_INS1_4pairIKS8_S8_EEEEEE + 270
 8   mongod                              0x0000000100fd68ae _ZN5mongo21runGlobalInitializersEiPKPKcS3_ + 526
 9   mongod …
Run Code Online (Sandbox Code Playgroud)

mongodb

20
推荐指数
1
解决办法
4814
查看次数

如何处理Backbone.Marionette的分页

我有一个使用外部API填充的集合,API返回许多对象+其他对象的分页详细信息,然后我想在我的视图中只显示这些对象的子集,但允许进一步的分页视图太

为了更好地解释我的情况:

  1. 从服务器获取20个结果,获取更多页面的分页数据
  2. 显示10条结果+更多按钮
  3. 点击更多,显示10个结果+更多按钮
  4. 点击更多,从服务器获取20个结果,显示10个结果+更多按钮...

你的解决方案是什么?我找到了Backbone.Paginator,但我不知道它与Marionette的集成程度如何,或者是否已经存在Backbone.Marionette.Paginator扩展:)

backbone.js marionette

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

如何在 Python 中记录字典?

我正在从 xmls 中提取数据,并将它们放入 Elasticsearch。在临时步骤中,我有一个 dict,其中包含我想放入 Elasticsearch 的所有数据,我想将这些数据记录在案。最好的办法是把这个文档和 Sphinx 生成的代码放在一起。

class MyCustomParser(Parser):

  def _get_data(self):
    # this is what matters
    data = {
        #: Shows if commitlog is required or not
        "has_commitlog": self._xml_helper.has_attribute_enabled('.//require_commitlog'),
Run Code Online (Sandbox Code Playgroud)

我想要的是字典的键和上面的注释文档。dict 大约有 50 行,我想进一步扩展它。

我已经四处搜索,但找不到任何解决此问题的方法。我的想法是将 dict 更改为自定义的类似 dict 的对象,记录对象的属性,并在_get_data上面的方法中设置它们。我不喜欢这个想法的是它的冗长,而不是一个苗条的字典定义,我最终会得到类似的东西

MyCustomWhat(
  has_commitlog=self._xml_helper.has_attribute_enabled('.//require_commitlog'),
  ...
)
Run Code Online (Sandbox Code Playgroud)

你有什么想法在代码中记录这个字典的键?

python dictionary python-sphinx

6
推荐指数
0
解决办法
1639
查看次数

如何使用SIP从命令行发送传真(pdf)?(Linux)的

我想将系统与SIP电话集成,系统生成pdf文件,应通过SIP传真到特定的传真号码(例如销售订单).有没有一种简单的方法来实现这一目标?

该系统在Linux下运行.不幸的是,我没有任何SIP经验.

fax sip

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

Sinon似乎没有窥探事件处理程序回调

我正在用Jasmin,Simon和jasmin-simon测试骨干视图.

这是代码:

var MessageContainerView = Backbone.View.extend({
    id: 'messages',
    initialize: function() {
        this.collection.bind('add', this.addMessage, this);
    },
    render: function( event ) {
        this.collection.each(this.addMessage);
        return this;
    },
    addMessage: function( message ) {
        console.log('addMessage called', message);
        var view = new MessageView({model: message});
        $('#' + this.id).append(view.render().el);
    }
});
Run Code Online (Sandbox Code Playgroud)

实际上,我的所有测试都通过了一次.addMessage每当我添加一个项目时,我想检查是否被调用this.collection.

describe('Message Container tests', function(){
    beforeEach(function(){
        this.messageView = new Backbone.View;
        this.messageViewStub = sinon.stub(window, 'MessageView').returns(this.messageView);

        this.message1 = new Backbone.Model({message: 'message1', type:'error'});
        this.message2 = new Backbone.Model({message: 'message2', type:'success'});
        this.messages = new Backbone.Collection([
            this.message1, this.message2            
        ]); …
Run Code Online (Sandbox Code Playgroud)

javascript testing jasmine sinon

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

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

jQuery.load()在Firefox下响应错误,在Chrome下运行正常

我有一个功能,在对话框而不是主窗口中打开一个页面.有点清理的代码如下:

var baseurl = window.location.origin + '/static/docs/'

function onClickLink(event) {
  event.preventDefault();
  if ($("#dialog").length == 0) {
    setUpDialog()
  }
  var href = event.target.href;
  href = baseurl + href.substring(1 + href.lastIndexOf('/'));
  $("#dialog").load(href + ' .body', function(response, status, xhr) {
    if (status == "error") {
      window.location = event.target.href;
    } else {
      changeImageSrc();
      reStructure();
    }
  });
  $("#dialog").dialog({
    modal: true,
    title: event.target.text,
    width: 960,
    position: ['center', 100]
  });
}
Run Code Online (Sandbox Code Playgroud)

此代码在Chrome中运行良好,但(状态=="错误")在Firefox下执行.看起来Firefox有404错误,可能是加载页面的图像,或者类似的东西.

有关如何在Firefox下获得Chrome行为的任何想法吗?(你可以在这里找到一个有效的例子)

javascript ajax firefox jquery google-chrome

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

使用Backbone进行异步模板加载和后渲染操作

我正在使用骨干样板来渲染我的模板,它的fetchTemplate方法缓存渲染的模板.

我想在渲染的内容上运行一些额外的代码,比如初始化手风琴等,但是使用异步编译模板执行此操作比我想象的要复杂得多.

这是一个例子:

Duel.Views.Home = Backbone.View.extend({
  template: "/templates/duel_home.jade",
  render: function() {
    var view = this;
    statusapp.fetchTemplate(this.template, function(tmpl) {
      $(view.el).html( tmpl({duels: view.collection.toJSON()}) );
      view.postrender();
    });
    return this;
  },
  postrender: function() {
    $('#duel-new').each(function() {
      console.log('Found something')
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

除此之外,我使用http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/中概述的视图处理程序.

我这样做了

var view = Duel.Views.Home({model: mymodel})
viewHandler('#content').showView(view)
Run Code Online (Sandbox Code Playgroud)

这个电话

$('#content').html(view.render().el)
Run Code Online (Sandbox Code Playgroud)

但是,当模板尚未缓存时,首先调用render,然后按时调用postrender.另一方面,当模板已经被缓存时,模板立即呈现,后期调用被调用,但view.el尚未插入到DOM中,因此$(this.el)是一个空列表,而$('#duel -new').each()是"无效的".

当然,我可以在viewHandler的render调用之后添加postrender方法,但这会导致同样的问题,但是在第一次调用render方法时.由于模板尚未编译,因此在其元素存在之前调用postrender,因此不能在这些不存在的元素上定义处理程序.

关于如何正确克服这个问题的任何想法?例如,对于使用.on的简单点击事件来说,这是相对简单的,但是更一般的结构$('#tabs').tabs()呢,例如?

我的fetchTemplate函数如下:

fetchTemplate: function(path, done) {
  window.JST = window.JST || {};

  // Should be an instant synchronous way of getting the template, if it …
Run Code Online (Sandbox Code Playgroud)

javascript jquery backbone.js backbone-boilerplate

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

Virtualenv返回"没有这样的文件或目录"

我有很多正常工作的virtualenvs,但从今天起,他们给了我一个错误.我尝试用easy_install -U重新安装pip和virtualenvwrapper,但错误仍然存​​在.有任何想法吗?

$ mkvirtualenv django
sh: 0: getcwd() failed: No such file or directory
New python executable in django/bin/python
Installing setuptools.............done.
Installing pip...............done.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/virtualenvwrapper/hook_loader.py", line 16, in <module>
    from stevedore import ExtensionManager
  File "/usr/local/lib/python2.7/dist-packages/stevedore/__init__.py", line 1, in <module>
    from .extension import ExtensionManager
  File "/usr/local/lib/python2.7/dist-packages/stevedore/extension.py", line 4, in <module>
    import pkg_resources
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2697, in <module>
    _declare_state('object', working_set = WorkingSet())
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 435, in __init__
    self.add_entry(entry)
  File …
Run Code Online (Sandbox Code Playgroud)

python pip virtualenv ubuntu-12.04

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