小编Bre*_*nor的帖子

如何在另一个存储库中使用git存储库?

我有一个Git媒体存储库,我将保存我将在各种项目中使用的所有JavaScript和CSS主文件和脚本.

如果我创建一个位于其自己的Git存储库中的新项目,我如何在我的新项目中使用来自我的媒体存储库的JavaScript文件,从而使我在进行更改时不必更新脚本的两个副本?

git multiple-repositories git-submodules

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

排除Nginx + Gunicorn + Django堆栈上的站点缓慢

问题我有

我有一个问题,有些网站需要很长时间才能加载("长时间"我的意思是长达16秒).有时它们可​​能会完全超时,从而产生Nginx 504错误.通常,当网站超时时,我可以重新加载该网站,它会很快加载.我遇到问题的网站获得的流量非常低.我正在通过加载Django管理员索引页面来测试该站点,以便尝试消除因代码不佳而导致的任何缓慢.还应注意,此特定站点仅使用Django管理员,因为它只是员工的Intranet类型站点.

托管设置

我托管的所有网站都在两个Rackspace云服务器上.第一台服务器是我的应用服务器,有1024 MB的RAM,我的第二台服务器是我的数据库服务器,有2048 MB的RAM.应用服务器使用Nginx为每个站点提供服务,Nginx为每个站点的Django Gunicorn工作者提供所有静态文件和代理服务.

在查看数据库服务器RAM和CPU负载时,似乎数据库服务器上的一切正常.

$ free -m
             total       used       free     shared    buffers     cached
Mem:          1999       1597        402          0        200       1007
-/+ buffers/cache:        389       1610
Swap:         4094          0       4094


Top shows a CPU load average of: 0.00, 0.01, 0.05
Run Code Online (Sandbox Code Playgroud)

为了尝试解决发生的事情,我写了一个快速的小脚本,打印出应用服务器上的内存使用情况.

示例打印出来的网站域名是匿名的:

Celery:     23 MB
Gunicorn:  566 MB
Nginx:       8 MB
Redis:     684 KB
Other:      73 MB

             total       used       free     shared    buffers     cached
Mem:           993        906         87          0         19         62
-/+ buffers/cache:        824        169
Swap: …
Run Code Online (Sandbox Code Playgroud)

django hosting nginx gunicorn

19
推荐指数
1
解决办法
9929
查看次数

什么是Django/Python解决方案,为人们下载文件提供一次性URL?

我正在寻找一种方法,可以在一个事件中向某人出售一张卡片,该卡片将具有一个独特的代码,以后他们可以使用这些代码只下载一个文件(mp3,pdf等),并掩盖真实情况文件位置,以便下载该文件的精明人员将无法多次下载该文件.在Amazon S3上托管文件以节省我们的服务器位于同一地点的带宽会很好.

我对代码的想法是预先生成将在卡上打印的唯一代码,并将这些代码存储在数据库中,该数据库也可以具有存储文件下载次数的字段.这样我们就可以设置允许用户下载文件的次数.

我需要指导的部分是如何隐藏/屏蔽原始文件位置,以便人们无法窃取该网址,然后根据需要多次下载文件.我已经完成了谷歌搜索,我要么不使用正确的关键字进行搜索,要么已经没有很多库或片段用于此类事情.

我猜我可能能够使用django.views.static.serve它作为实际文件和下载文件的用户之间的一种代理.我认为这种方法的唯一缺点是我需要使用实际的Web服务器,并且无法将该文件存储在Amazon S3上.

任何建议或想法都非常感谢.

python django url proxy download

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

为什么tempfile.NamedTemporaryFile()会截断我的数据?

这是我创建的一个测试,用于重新创建我在使用tempfile.NamedTemporaryFile()时遇到的问题.问题是当我使用tempfile时,我的CSV中的数据会从文件的末尾被截断.

运行此测试脚本时,temp2.​​csv将被截断,temp1.csv将与原始CSV的大小相同.

我正在使用Python 2.7.1.

您可以从http://explore.data.gov/Energy-and-Utilities/Residential-Energy-Consumption-Survey-RECS-Files-A/eypy-jxs2下载示例CSV.

#!/usr/bin/env python

import tempfile
import shutil


def main():
    f = open('RECS05alldata.csv')
    data = f.read()
    f.close()

    f = open('temp1.csv', 'w+b')
    f.write(data)
    f.close()

    temp = tempfile.NamedTemporaryFile()
    temp.write(data)
    shutil.copy(temp.name, 'temp2.csv')
    temp.close()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

python

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

使用lxml解析DTD时出错

我正在尝试编写一个验证脚本,该脚本将针对NITF DTD验证XML,http: //www.iptc.org/std/NITF/3.4/specification/dtd/nitf-3-4.dtd .基于这篇文章,我提出了以下简单的脚本来验证NITF XML文档.Bellow是我在运行脚本时得到的错误消息,它不是很具描述性并且很难调试.任何帮助表示赞赏.

#!/usr/bin/env python


def main():
    from lxml import etree, objectify
    from StringIO import StringIO

    f = open('nitf_test.xml')
    xml_doc = f.read()
    f.close()

    f = open('nitf-3-4.dtd')
    dtd_doc = f.read()
    f.close()

    dtd = etree.DTD(StringIO(dtd_doc))
    tree = objectify.parse(StringIO(xml_doc))
    dtd.validate(tree)


if __name__ == '__main__':

    main()
Run Code Online (Sandbox Code Playgroud)

回溯错误消息:

Traceback (most recent call last):
  File "./test_nitf_doc.py", line 23, in <module>
    main()
  File "./test_nitf_doc.py", line 16, in main
    dtd = etree.DTD(StringIO(dtd_doc))
  File "dtd.pxi", line 43, in lxml.etree.DTD.__init__ (src/lxml/lxml.etree.c:126056)
  File "dtd.pxi", line 117, …
Run Code Online (Sandbox Code Playgroud)

python xml lxml dtd

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

升级到 0.13 后如何修复 Terraform 不受支持的属性“ses_smtp_password”?

升级后,我在运行 a 时收到如下消息terraform plan

Error: Invalid resource instance data in state

  on iam_server_backup.tf line 4:
   4: resource "aws_iam_access_key" "backup" {

Instance aws_iam_access_key.backup data could not be decoded from
the state: unsupported attribute "ses_smtp_password".
Run Code Online (Sandbox Code Playgroud)

我修复它的方法是删除状态 ( terraform state rm aws_iam_access_key.backup)。但是,这在我运行时创建了新的访问密钥terraform apply,这很耗时,因为我必须更改所有应用程序中的所有访问密钥。有没有更好的方法来解决这个问题?

terraform terraform-provider-aws

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