小编oro*_*aki的帖子

Python virtualenv问题

我在Windows XP上使用VirtualEnv.我想知道我的大脑是否正确缠绕它.

我跑了virtualenv ENV,它创造了C:\WINDOWS\system32\ENV.然后我将PATH变量改为include C:\WINDOWS\system32\ENV\Scripts而不是C:\Python27\Scripts.然后,我检查了Django C:\WINDOWS\system32\ENV\Lib\site-packages\django-trunk,更新了我的PYTHON_PATH变量以指向新的Django目录,并继续easy_install其他事情(当然进入我的新C:\WINDOWS\system32\ENV\Lib\site-packages目录).

我明白我为什么要使用VIRTUALENV这样我就可以在同一台机器上运行的Django的多个版本,及其他图书馆,但这并不意味着对我有根本上改变我的环境之间进行切换PATHPYTHON_PATH变量?那么,我从开发一个Django项目开始,该项目在一个被调用的环境中使用Django 1.2 ENV,然后改变我的PATH等等,以便我可以使用一个名为ENV2Django开发版本的环境?

这基本上是它,还是有一些更好的方法来自动完成所有这些(我可以在Python代码中更新我的路径,但这需要我在我的应用程序中编写机器特定的代码)?

此外,这个过程与在Linux上使用VirtualEnv相比如何(我是Linux的初学者).

python linux windows virtualenv

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

由于你的代码,是否有可能在Python中出现实际的内存泄漏?

我没有代码示例,但我很好奇是否有可能编写导致内存泄漏的Python代码.

python memory-leaks

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

你如何将PIL`Image`转换为Django`File`?

我正在尝试将UploadedFile一个PIL Image对象转换为缩略图,然后将Image我的缩略图函数返回的PIL 对象转换回一个File对象.我怎样才能做到这一点?

python django django-file-upload django-uploads python-imaging-library

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

Django:"DoesNotExist"来自哪里?

在Django的所有时间我都看到DoesNotExist像是在一起被提升db.models.fields.related.py.没有ObjectDoesNotExist定义django.core.exceptions,但只是DoesNotExist.这个异常类在哪里定义,或者我不完全理解异常?我已经检查过它不是例外(至少不是我所知道的).我很困惑.

注意:它也是免费的,作为模型子类实例的属性,如`self.someforeignkey.DoesNotExist.这怎么可能?

django django-models

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

Django比较模型实例的相等性

我理解,在单例情况下,您可以执行以下操作:

spam == eggs
Run Code Online (Sandbox Code Playgroud)

如果spameggs是具有所有相同属性值的同一个类的实例,它将返回True.在Django模型中,这是很自然的,因为模型的两个独立实例将不会相同,除非它们具有相同的.pk值.

这样做的问题是,如果对实例的引用具有已经由中间件在某个地方更新并且尚未保存的属性,并且您正在尝试将其添加到另一个变量中,该变量持有对该实例的引用.同样的模型,它False当然会返回,因为它们对某些属性有不同的值.显然我不需要像单身人士这样的东西,但我想知道是否有一些官方的Djangonic(ha,一个新词)方法来检查这个,或者我是否应该只检查.pk值是否相同:

spam.pk == eggs.pk
Run Code Online (Sandbox Code Playgroud)

我很抱歉,如果这是浪费时间,但似乎可能有一种方法可以做到这一点,而我错过的一些事情,如果我找不到它,我会后悔的.

更新(02-27-2015)

你应该忽略这个问题的第一部分,因为你不应该将单身人士与之比较==,而是与之比较is.单身者真的与这个问题无关.

django django-models

38
推荐指数
4
解决办法
3万
查看次数

Django:"TypeError:[]不是JSON可序列化的"为什么?

怎么会出现这个错误呢?我进入了这个:

def json(self):
    return json.dumps(
        {
            'items': self.items
        }
    )
Run Code Online (Sandbox Code Playgroud)

并得到了这个错误(因为self.items是一个空的查询集(Django)

但是之后,

def json(self):
    return json.dumps(
        {
            'items': []  # Pass in empty list to prove that the error was idiotic.
        }
    )
Run Code Online (Sandbox Code Playgroud)

工作正常(至少证明错误信息毫无价值)

这是因为查询集定义了repr()并在它为空时返回'[]'作为字符串或类似的荒谬吗?

python django json

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

当SHA-512更安全时,为什么要使用SHA1来实现散列机密?

我并不是说这是一场辩论,但我正在努力理解为什么这么多应用程序使用SHA1来实现散列机密的技术原理,当SHA512更安全时.也许这仅仅是为了向后兼容.

除了明显更大的尺寸(128个字符对比40个)或轻微的速度差异外,还有其他原因让人们使用前者吗?

此外,我认为SHA-1几年前首先被VCR的处理器破解.有没有人破解512(可能还有吹叶机),或者没有盐腌仍然可以安全使用?

hash sha1 sha512

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

为什么编程语言会缩小到.6?

如果你把一个小数放在一个必须四舍五入到最接近的10的格式,它是:1.55,它将舍入到1.5.然后1.56将转为1.6.在学校里,我记得当你达到5分时,你会知道你是四舍五入的,如果是4分或者以下,你就会知道.为什么它与Python等有所不同.

这是Python 2.6x的代码示例(无论最新版本是什么)

'{0:01.2f}'.format(5.555)  # This will return '5.55'
Run Code Online (Sandbox Code Playgroud)

在尝试了一些提供的示例后,我意识到更令人困惑的事情:

'{0:01.1f}'.format(5.55)  # This will return '5.5'
# But then
'{0:01.1f}'.format(1.55)  # This will return '1.6'
Run Code Online (Sandbox Code Playgroud)

使用1.55 vs 5.55时的差异原因.两者都被输入为文字(所以浮点数)

language-agnostic math floating-point rounding

32
推荐指数
2
解决办法
3263
查看次数

Django - 了解X-Sendfile

我一直在研究使用Django进行访问控制的文件下载.我的目标是完全阻止对文件的访问,除非由特定用户访问.我已经读过,当使用Django时,X-Sendfile是实现这一目标的首选方法之一(基于其他SO问题等).我对使用Xang Sendfile和Django的基本理解是:

  1. 用户请求URI以获取受保护的文件
  2. Django应用程序根据URL决定返回哪个文件,并检查用户权限等.
  3. Django应用程序返回HTTP响应,并将"X-Sendfile"标头设置为服务器的文件路径
  4. Web服务器找到该文件并将其返回给请求者(我假设Web服务器也沿途除去了'X-Sendfile'标题)

与直接从Django中删除文件相比,X-Sendfile似乎是一种更有效的方法来实现受保护的下载(因为我可以依赖Nginx来提供文件,而不是Django),但是给我留下两个问题:

  1. 我对X-Sendfile的解释至少是抽象的正确吗?
  2. 它是否真的安全,假设我没有提供正常的前端HTTP访问(例如http://www.example.com/downloads/secret-file.jpg)到文件存储的目录(即,不要不要把它保存在我的public_html目录中)?或者,精通技术的用户是否可以检查标题等,并以反向工程方式访问文件(然后分发)?
  3. 它在性能上是否真的有很大差异?我是否会通过直接从Django提供8b块150Mb文件的下载来使我的应用程序服务器陷入困境,或者这种类型是无问题的?我问的原因是因为如果两个版本接近相等,Django版本会更好,因为我有能力用Python做事,比如记录完成的下载次数,下载的带宽等.

提前致谢.

python django x-sendfile download protected-resource

30
推荐指数
1
解决办法
8765
查看次数

在Postgres中加速慢速SELECT DISTINCT查询的解决方案

查询基本上是:

SELECT DISTINCT "my_table"."foo" from "my_table" WHERE...
Run Code Online (Sandbox Code Playgroud)

我假装我100%肯定DISTINCT查询的部分是它运行缓慢的原因,我省略了其余的查询以避免混淆,因为它是我主要关注的不同部分的缓慢(不同的是永远是缓慢的来源).

该表有250万行数据.该DISTINCT 需要在这里没有列出的目的(因为我不想回修改后的查询,而是让不同的查询,而只是一般的信息运行在较快的DBMS的水平,如果可能的话).

如何在DISTINCT不改变SQL的情况下更快地运行(特别是使用Postgres 9)(即,我无法改变此SQL,但是可以在数据库级别优化某些内容)?

sql database postgresql database-optimization

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