小编mas*_*rre的帖子

gunicorn + nginx:服务器通过socket还是代理?

我已经看到了使用gunicorn和nginx托管django应用程序的两种策略.

一种策略是在网络端口上运行gunicorn.例如(来自http://goodcode.io/blog/django-nginx-gunicorn/):

location / {
    proxy_pass_header Server;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Scheme $scheme;
    proxy_connect_timeout 10;
    proxy_read_timeout 10;
    proxy_pass http://localhost:8000/;
}
Run Code Online (Sandbox Code Playgroud)

另一个策略是在启动时将gunicorn绑定到UNIX套接字(例如http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/)

upstream hello_app_server {
    server unix:/tmp/gunicorn.sock fail_timeout=0;
}

...

location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    if (!-f $request_filename) {
        proxy_pass http://hello_app_server;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

关于哪种策略优越的想法?有关正确方法的任何评论吗?我倾向于套接字方法,因为我想象的开销是由TCP引入的.我最关心的是标头,连接超时等之间的差异以及我见过的实现示例之间的差异.

django nginx gunicorn

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

关于夹具的Django测试抱怨

转储数据 python manage.py dumpdata --format json --indent 4 --exclude auth.permission --exclude contenttypes > app/fixtures/app_test_data.json

运行python manage.py测试应用程序,我收到以下错误:

IntegrityError: Problem installing fixtures: The row in table 'django_admin_log' with       primary key '517' has an invalid foreign key: django_admin_log.content_type_id contains a value '28' that does not have a corresponding value in django_content_type.id.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我使用dumpdata/Django的测试运行器有很多类似的问题.

django django-models django-testing django-fixtures

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

在ng-if中调用Javascript

我有一些遗留的jQuery代码.这是一大块代码,所以我宁愿稍后移植它.要使用它,我打电话$('#legacyId').legacyFunction().

不过这是交易.

我有一个ng-if.在那个ng-if中,我有我称之为遗留函数的JavaScript.

<div ng-if="status=='yes'">
    <div id="legacyId">
        I am a legacy div!
    </div>
    <script type="text/javascript">
        $('#legacyId').legacyFunction()
    </script>
</div>
Run Code Online (Sandbox Code Playgroud)

看起来这个JavaScript在页面加载时被调用.虽然我在jQuery之后加载了角度,但似乎angular删除了ng-if控制下的部分,因此jQuery函数#legacyId失败了.

有任何想法吗?谢谢!


编辑注释:我导入jQuery和在我的HTML文档顶部扩展jQuery的遗留代码.Angular加载在文档的底部.


编辑注释2:我也试过了<div ng-init="$('#legacyId').legacyFunction()"></div>,但是我收到了一个错误,Error: [$rootScope:inprog] $apply already in progress.

angularjs angularjs-scope

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

Javascript的"Object.getOwnPropertyNames"缺少属性?

我喜欢Object.getOwnPropertyNames方法.它似乎是一个从JS shell中学习对象的有用工具.

然而,令我疯狂的是,getOwnPropertyNames似乎缺少一些(注意:在我的测试中,我运行的是ECMA 5实现 - 谷歌Chrome版本28.0.1500.95).

这是一个例子:

> var x= []
undefined
> x.constructor
function Array() { [native code] }
> Object.getOwnPropertyNames(x)
["length"]
Run Code Online (Sandbox Code Playgroud)

很明显,x有很多属性!(例如https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype)

> x.push
function push() { [native code] }
> x.pop
function pop() { [native code] }
Run Code Online (Sandbox Code Playgroud)

谁能帮忙解释一下这里发生了什么?谢谢!:d

编辑:好的!我看到getOwnPropertyNames只获取手头对象的属性名称.有没有一种简单的方法来获得继承属性?或者也许唯一的方法是遍历object.constructor.prototype .__ proto__?

javascript prototype javascript-objects

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

(new Array(10)).map(function(){return 1;})返回[,,,,, ...]为什么?

我希望以下代码返回 [1,1,1,1...]

(new Array(10)).map(function() { return 1;})
Run Code Online (Sandbox Code Playgroud)

但它回来了[, , , , , ...].

此外, (new Array(10)).length == 10(new Array(10))[0] == undefined是真实的.

而且z = function(){return 0;};表达z(undefined) === 0也是如此.

然而,我注意到它[,,,,,,,,,,].map(function() { return 1; })也会回归[,,,,....].

有谁能解释为什么?

javascript

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

Django:获取最新的不同对象

假设我有一个WeatherReport与领域对象datetemperaturecity

我想获取WeatherReport每个城市的所有最新对象。我想我会做类似的事情

WeatherReport.objects.order_by('-date').distinct('city')
Run Code Online (Sandbox Code Playgroud)

但这失败了,返回错误

ProgrammingError: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
Run Code Online (Sandbox Code Playgroud)

django django-orm

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