我在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的多个版本,及其他图书馆,但这并不意味着对我有根本上改变我的环境之间进行切换PATH和PYTHON_PATH变量?那么,我从开发一个Django项目开始,该项目在一个被调用的环境中使用Django 1.2 ENV,然后改变我的PATH等等,以便我可以使用一个名为ENV2Django开发版本的环境?
这基本上是它,还是有一些更好的方法来自动完成所有这些(我可以在Python代码中更新我的路径,但这需要我在我的应用程序中编写机器特定的代码)?
此外,这个过程与在Linux上使用VirtualEnv相比如何(我是Linux的初学者).
我没有代码示例,但我很好奇是否有可能编写导致内存泄漏的Python代码.
我正在尝试将UploadedFile一个PIL Image对象转换为缩略图,然后将Image我的缩略图函数返回的PIL 对象转换回一个File对象.我怎样才能做到这一点?
python django django-file-upload django-uploads python-imaging-library
在Django的所有时间我都看到DoesNotExist像是在一起被提升db.models.fields.related.py.没有ObjectDoesNotExist定义django.core.exceptions,但只是DoesNotExist.这个异常类在哪里定义,或者我不完全理解异常?我已经检查过它不是例外(至少不是我所知道的).我很困惑.
注意:它也是免费的,作为模型子类实例的属性,如`self.someforeignkey.DoesNotExist.这怎么可能?
我理解,在单例情况下,您可以执行以下操作:
spam == eggs
Run Code Online (Sandbox Code Playgroud)
如果spam和eggs是具有所有相同属性值的同一个类的实例,它将返回True.在Django模型中,这是很自然的,因为模型的两个独立实例将不会相同,除非它们具有相同的.pk值.
这样做的问题是,如果对实例的引用具有已经由中间件在某个地方更新并且尚未保存的属性,并且您正在尝试将其添加到另一个变量中,该变量持有对该实例的引用.同样的模型,它False当然会返回,因为它们对某些属性有不同的值.显然我不需要像单身人士这样的东西,但我想知道是否有一些官方的Djangonic(ha,一个新词)方法来检查这个,或者我是否应该只检查.pk值是否相同:
spam.pk == eggs.pk
Run Code Online (Sandbox Code Playgroud)
我很抱歉,如果这是浪费时间,但似乎可能有一种方法可以做到这一点,而我错过的一些事情,如果我找不到它,我会后悔的.
你应该忽略这个问题的第一部分,因为你不应该将单身人士与之比较==,而是与之比较is.单身者真的与这个问题无关.
怎么会出现这个错误呢?我进入了这个:
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()并在它为空时返回'[]'作为字符串或类似的荒谬吗?
我并不是说这是一场辩论,但我正在努力理解为什么这么多应用程序使用SHA1来实现散列机密的技术原理,当SHA512更安全时.也许这仅仅是为了向后兼容.
除了明显更大的尺寸(128个字符对比40个)或轻微的速度差异外,还有其他原因让人们使用前者吗?
此外,我认为SHA-1几年前首先被VCR的处理器破解.有没有人破解512(可能还有吹叶机),或者没有盐腌仍然可以安全使用?
如果你把一个小数放在一个必须四舍五入到最接近的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时的差异原因.两者都被输入为文字(所以浮点数)
我一直在研究使用Django进行访问控制的文件下载.我的目标是完全阻止对文件的访问,除非由特定用户访问.我已经读过,当使用Django时,X-Sendfile是实现这一目标的首选方法之一(基于其他SO问题等).我对使用Xang Sendfile和Django的基本理解是:
与直接从Django中删除文件相比,X-Sendfile似乎是一种更有效的方法来实现受保护的下载(因为我可以依赖Nginx来提供文件,而不是Django),但是给我留下两个问题:
public_html目录中)?或者,精通技术的用户是否可以检查标题等,并以反向工程方式访问文件(然后分发)?提前致谢.
查询基本上是:
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,但是可以在数据库级别优化某些内容)?
django ×5
python ×5
database ×1
download ×1
hash ×1
json ×1
linux ×1
math ×1
memory-leaks ×1
postgresql ×1
rounding ×1
sha1 ×1
sha512 ×1
sql ×1
virtualenv ×1
windows ×1
x-sendfile ×1