小编Dav*_*Eyk的帖子

Git不会初始化/同步/更新新的子模块

这是我.gitmodules文件内容的一部分:

[submodule "src/static_management"]
        path = src/static_management
        url = git://github.com/eykd/django-static-management.git
[submodule "external/pyfacebook"]
        path = external/pyfacebook
        url = http://github.com/sciyoshi/pyfacebook.git
Run Code Online (Sandbox Code Playgroud)

但是,.git/config只包含第一个:

[submodule "src/static_management"]
        url = git://github.com/eykd/django-static-management.git
Run Code Online (Sandbox Code Playgroud)

第二个子模块(external/pyfacebook)由功能分支中的另一个开发人员添加.我现在继承了开发,并检查了功能分支.但是,Git不会为我拉这个子模块.我试过了:

  • git submodule init
  • git submodule update
  • git submodule update --init
  • git submodule sync
  • 从中删除所有子模块定义.git/config并运行git submodule init.它只复制先前存在的子模块并忽略新的子模块.
  • .git/config手动输入新的子模块定义并运行git submodule update.只有以前存在的子模块才能更新.

在各种组合中,但是git根本不会.git/config根据新内容进行更新.gitmodules,也不会创建external/pyfacebook文件夹并拉出子模块的内容.

我错过了什么?手动干预(手动添加子模块条目.git/config)是否真正需要,为什么?

编辑:手动干预不起作用.手动添加新的子模块条目.git/config不会做任何事情.新的子模块被忽略.

git git-submodules

98
推荐指数
11
解决办法
8万
查看次数

Nginx使用什么正则表达式引擎?

Nginx使用什么正则表达式引擎?有很多可能性.更重要的是,它支持什么样的语法,也就是说,我可以使用哪些语法功能?

regex nginx

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

什么时候不是使用python生成器的好时机?

这与你可以使用Python生成器函数什么相反:python生成器,生成器表达式和itertools模块是我最近python的一些特性.它们在设置操作链以在大量数据上执行时特别有用 - 我经常在处理DSV文件时使用它们.

那么什么时候不是使用生成器,生成器表达式或itertools函数的好时机?

  • 当我应该喜欢zip()itertools.izip(),或
  • range()结束xrange(),或
  • [x for x in foo]结束(x for x in foo)

显然,我们最终需要将生成器"解析"为实际数据,通常是通过创建列表或使用非生成器循环对其进行迭代.有时我们只需知道长度.这不是我要问的.

我们使用生成器,因此我们不会将新列表分配给内存以用于临时数据.这对于大型数据集尤其有用.对于小型数据集也有意义吗?有明显的内存/ CPU权衡吗?

考虑到列表理解性能与map()和filter()的开放性讨论,我特别感兴趣的是,如果有人对此做了一些分析.(alt链接)

python optimization iterator generator

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

Cloudfront自定义源分发返回502"ERROR无法满足请求." 对于某些网址

我们有一个Cloudfront发行版,其定制来源已经运行了很长时间,为我们的一个站点提供静态资产.就在今天早上,我们注意到我们的徽标显示为断开链接.

经过进一步调查,Cloudfront将返回一条我之前从未见过的有关URL的奇怪错误消息:

错误

请求无法满足.



由cloudfront生成(CloudFront)

此分发中的其他几个Cloudfront URL返回相同的错误,但其他(同样,来自同一分发)的工作正常.我没有看到什么有效,哪些无效的模式.

其他一些数据点:

  • 产地的URL工作得很好.据我所知,最近没有服务中断.
  • 我特意使徽标URL无效,无效.
  • 我已经使分发的根URL无效,无效.

知道这里发生了什么吗?我以前从未见过Cloudfront这样做过.

更新:

以下是Cloudfront的逐字HTTP响应:

$ http GET https://d2yu7foswg1yra.cloudfront.net/static/img/crossway_logo.png
HTTP/1.1 502 Bad Gateway
Age: 213
Connection: keep-alive
Content-Length: 472
Content-Type: text/html
Date: Wed, 18 Dec 2013 17:57:46 GMT
Server: CloudFront
Via: 1.1 f319e8962c0268d31d3828d4b9d41f98.cloudfront.net (CloudFront)
X-Amz-Cf-Id: H_HGBG3sTOqEomHzHubi8ruLbGXe2MRyVhGBn4apM0y_LjQa_9W2Jg==
X-Cache: Error from cloudfront

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2> …
Run Code Online (Sandbox Code Playgroud)

ssl cdn amazon-cloudfront

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

在django admin中为内联项添加完整更改表单的链接?

我有一个对象的标准管理员更改表单,通常的StackedInline表单用于ForeignKey关系.我希望能够将每个内联项链接到相应的完整大小的更改表单,因为内联项具有自己的内联项,我无法嵌套它们.

我已经尝试了从自定义小部件到自定义模板的所有内容,并且无法使任何工作.到目前为止,我以片段形式看到的"解决方案"似乎并不适用于内联.我正准备尝试使用jQuery进行一些DOM攻击,以使其正常工作并继续前进.

我希望我一定会错过一些非常简单的事情,因为这看起来像是一项简单的任务!

使用Django 1.2.

django hyperlink django-forms django-admin

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

如何"缩放"一个numpy数组?

我想将形状(h,w)的数组缩放n倍,得到一个形状的数组(h*n,w*n),其中.

假设我有一个2x2阵列:

array([[1, 1],
       [0, 1]])
Run Code Online (Sandbox Code Playgroud)

我想将数组缩放为4x4:

array([[1, 1, 1, 1],
       [1, 1, 1, 1],
       [0, 0, 1, 1],
       [0, 0, 1, 1]])
Run Code Online (Sandbox Code Playgroud)

也就是说,原始数组中每个单元格的值被复制到结果数组中的4个相应单元格中.假设任意数组大小和缩放因子,最有效的方法是什么?

python arrays scaling numpy

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

如何合并两个python迭代器?

我有两个迭代器,一个list和一个itertools.count对象(即无限值生成器).我想将这两个合并到一个生成的迭代器中,它将在两者之间交替屈服值:

>>> import itertools
>>> c = itertools.count(1)
>>> items = ['foo', 'bar']
>>> merged = imerge(items, c)  # the mythical "imerge"
>>> merged.next()
'foo'
>>> merged.next()
1
>>> merged.next()
'bar'
>>> merged.next()
2
>>> merged.next()
Traceback (most recent call last):
    ...
StopIteration
Run Code Online (Sandbox Code Playgroud)

这样做最简单,最简洁的方法是什么?

python merge iterator

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

在授予"用户更改"权限时,如何防止Django管理员中的权限升级?

我有一个拥有大量客户群的django网站.我想让我们的客户服务部门能够改变正常的用户帐户,做更改密码,电子邮件地址等等.但是,如果我授予某人内置auth | user | Can change user权限,他们就可以is_superuser在任何人身上设置标志.帐户,包括他们自己.(!!!)

为非超级用户员工删除此选项的最佳方法是什么?我确定它涉及子类化django.contrib.auth.forms.UserChangeForm并将其挂钩到我已经自定义的UserAdmin对象......不知何故.但我找不到任何关于如何做到这一点的文档,我还不太了解内部情况.

django permissions django-admin django-users

21
推荐指数
2
解决办法
3666
查看次数

使用简单的python生成器作为Tornado异步处理程序中的协同例程?

我有一个python生成器函数,它产生大量的文本.我想gettornado.web.RequestHandler子类编写一个方法,它将遍历生成器,在响应时将块写入响应.

因为这是Tornado,并且由于生成器可能需要一秒钟来处理,我认为使处理程序异步,使用此生成器作为协同例程并在每个块之后将控制权传递给IOLoop会很好.但是,我无法做出如何做到这一点的正面或反面.

这是我的示例(阻止)代码:

class TextHandler(web.RequestHandler):
    @web.asynchronous
    def get(self, n):
        generator = self.generate_text(100000)
        # Clearly, this will block. How to make it asynchronous?
        for text in generator:
            self.write(text)

    def generate_text(n):
        for x in xrange(n):
            if not x % 15:
                yield "FizzBuzz\n"
            elif not x % 5:
                yield "Buzz\n"
            elif not x % 3:
                yield "Fizz\n"
            else:
                yield "%s\n" % x
Run Code Online (Sandbox Code Playgroud)

如何使此处理程序异步工作?

python asynchronous generator tornado web

16
推荐指数
2
解决办法
6404
查看次数

如何在Django模型对象上记忆昂贵的计算?

我的UserProfile对象上有几个包含JSON对象的TextField列.我还为每个列定义了一个setter/getter属性,它封装了将JSON序列化和反序列化为python数据结构的逻辑.

此数据的性质可确保在单个请求中通过视图和模板逻辑多次访问它.为了节省反序列化成本,我想在读取时记住python数据结构,在直接写入属性时无效或从模型对象保存信号.

在哪里/如何存储备忘录?我对使用实例变量感到紧张,因为我不理解查询实例化任何特定UserProfile背后的魔力.是__init__使用安全,或是否需要通过检查备忘录属性的存在hasattr(),在每个读?

这是我当前实现的一个示例:

class UserProfile(Model):
    text_json = models.TextField(default=text_defaults)

    @property
    def text(self):
        if not hasattr(self, "text_memo"):
            self.text_memo = None
        self.text_memo = self.text_memo or simplejson.loads(self.text_json)
        return self.text_memo
    @text.setter
    def text(self, value=None):
        self.text_memo = None
        self.text_json = simplejson.dumps(value)
Run Code Online (Sandbox Code Playgroud)

python django memoization django-models

14
推荐指数
2
解决办法
4377
查看次数