小编jos*_*iti的帖子


限制访问Django/Nginx中的静态文件

我正在构建一个允许用户生成文档然后下载它们的系统.文档是PDF(并不是为了这个问题而重要),当它们生成时,我将它们存储在我的本地文件系统上,运行web服务器时使用的是uuid文件名

c7d43358-7532-4812-b828-b10b26694f0f.pdf

但我知道"通过默默无闻的安全"不是正确的解决方案......

我希望尽可能限制每个帐户对文件的访问.我认为我可以做的一件事是将它们上传到S3并提供一个签名的URL,但我想尽可能避免这种情况.

我正在使用Nginx/Django/Gunicorn/EC2/S3

还有什么其他解决方案?

security django nginx

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

如何在Django中正确使用MongoDB是一个很好的例子

使用Django 1.3.2和PyMongo,我在github上发现了一些随机项目,并且在这里和那里发表了一些文章,但总的来说,没有什么具体的.寻找有关此集成的优秀示例/教程.

django mongodb

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

Django开发:PyMongo或MongoEngine ......为什么?

试图在这两者之间做出决定,寻找一些可靠的反馈.谢谢.

python django orm mongodb

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

在Django的调试和生产中配置静态文件的最常用方法是什么

在调试模式下开发Django应用程序时,我使用以下代码提供静态文件:

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^m/(?P<path>.*)$', serve, {
            'document_root' : os.path.join(os.path.dirname(__file__), "media")
        })
    )
Run Code Online (Sandbox Code Playgroud)

我正在使用nginx作为前端,使用以下nginx配置在生产模式下为我的静态文件服务:

  location m/
      {
           root /path/to/folder/media/;
      }
Run Code Online (Sandbox Code Playgroud)

这看起来不太理想,因为我必须在媒体目录中创建一个"m"文件夹.我想知道其他人的Django/nginx配置文件是什么样的.具体来说,请你剪切并粘贴nginx.confg和urls.py的部分(settings.DEBUG == True)

谢谢.

python django nginx

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

在 OSX Excel 中使用 VBA 的 HTTP 获取请求

我正在编写一个非常简单的宏,需要向服务器发出 HTTP GET 请求并且响应并不重要(它在服务器上启动一个进程)。HTTP GET 不需要身份验证。

我正在使用以下代码“成功”执行此操作(服务器日志表明请求已发送到服务器,但服务器正在运行 HTTP 406):

Function callAPI(Url As String)
    With ActiveSheet.QueryTables.Add(Connection:="URL;" & Url, Destination:=Range("D15"))
    .PostText = ""
    .RefreshStyle = xlOverwriteCells
    .SaveData = True
    .Refresh
    End With
End Function
Run Code Online (Sandbox Code Playgroud)

但我从服务器得到以下响应:

Unable to open http://someurl.com Cannot locate the Internet server or proxy server.
Run Code Online (Sandbox Code Playgroud)

我可以看到服务器返回一个 HTTP 406,经过一些研究,因为 GET 请求没有发送正确的Content-Type标头。

所以我的问题是 - 如何告诉ActiveSheet.QueryTables.Add设置标头,或者如何修改我的 NGINX 配置以支持这个特定的 GET CALL

macos excel vba nginx

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

Rails插件 - 作为插件安装或安装为Gem

我是rails的新手,对插件有疑问.在ROR应用程序中使用第三方插件时,您可以采用两种方法:

1)使用sudo gem install GEM安装gem,然后在rails项目中"require"它

2)使用script/generate插件安装PLUGIN安装插件.代码中的插件出现在您的供应商目录中,然后您很高兴(有时,我无法通过此方法使Devise工作).

既然看起来这两种方法都完成了同样的事情,为什么我要选择一种方法而不是另一种方法.

谢谢,

rubygems ruby-on-rails ruby-on-rails-plugins

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

在挂架中使用重定向时出错

使用Pylons Verson 1.0:使用Pylons书中的FormDemo示例:

http://pylonsbook.com/en/1.1/working-with-forms-and-validators.html

我的控制器具有以下功能:

class FormtestController(BaseController):

    def form(self):
        return render('/simpleform.html')

    def submit(self):
        # Code to perform some action based on the form data
        # ...
        h.redirect_to(controller='formtest', action='result')

    def result(self):
        return 'Your data was successfully submitted.'
Run Code Online (Sandbox Code Playgroud)

首先我注意到在书中作者指示要导入redirect_来执行以下导入:

from pylons.controllers.util import redirect_to
Run Code Online (Sandbox Code Playgroud)

这似乎是不正确的,因为redirect_to存在于routes模块中,因此我将其更改为:

from routes import redirect_to
Run Code Online (Sandbox Code Playgroud)

一切正常,没有更多的导入错误,但当我执行表单提交时,我看到以下回溯


h.redirect_to(controller='formtest', action='result')
target = url_for(*args, **kargs)
encoding = config.mapper.encoding
return getattr(self.__shared_state, name)
AttributeError: 'thread._local' object has no attribute 'mapper'
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

python pylons

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

使用R的逻辑回归

我正在使用R运行逻辑回归,但我似乎无法获得许多有用的模型拟合统计数据.我正在寻找类似于SASS的指标:

http://www.ats.ucla.edu/stat/sas/output/sas_logit_output.htm

有谁知道我可以用什么(或什么包)来提取这些统计数据?

谢谢

statistics r logistics

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

带有虚拟变量的Python中的OLS - 最佳解决方案?

我有一个问题,我试图用Python解决,我找到了多个解决方案(我认为),但我想弄清楚哪一个是最好的.我希望将来能够选择完全支持的库,所以我不必重新编写这项服务.

我想用分类和连续因变量做一个普通的多变量最小二乘回归.代码必须用Python编写,因为它被集成到Web服务中.我一直在关注Pandas,但从未使用它,所以这似乎是一种方法:

解决方案1. https://github.com/pydata/pandas/blob/master/examples/regressions.py

显然,numpy/scipy是理想的,但我找不到一个使用虚拟变量的例子(有人有一个???).我确实找到了这个,

解决方案2. http://www.scipy.org/Cookbook/OLS

我可以修改以支持虚拟变量,但我不想这样做,如果其他人已经完成它+我希望数字与R非常相似,因为我离线完成了大部分分析,我可以使用这些单元测试的结果.

在上面的示例(2)中,我看到我可以在技术上使用rpy/rpy2,尽管这不是最佳的,因为我的Web服务需要另一项技术(R).使用界面的好处是数字与我从R的结果相同.

解决方案3. http://www.scipy.org/Cookbook/OLS(但使用Rpy/Rpy2)

无论如何,我感兴趣的是这三种解决方案中的每个人的方法是什么,如果有任何我遗失的......如果Panda已经足够成熟,可以开始在生产网络服务中使用.这里的关键是我不想支持/修补错误修复或尽可能从头开始编写任何东西.我太忙了,可能还不够聪明:)

谢谢.

python regression numpy r scipy

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

Facebook Graph API 1.0弃用

我一直在关注围绕F8的公告,我发现了这个更改日志:

https://developers.facebook.com/docs/apps/changelog

我只是想知道,如果我理解正确的话......

此更改日志是否意味着图形API端点(例如/ me/friends等)将在2015年4月15日停止工作时关闭API版本1.0,或者Facebook将更快地删除功能?

facebook facebook-graph-api

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

芹菜和Redis后端的问题

我目前正在设置一个系统,它使用带有redis后端的芹菜来执行一系列异步任务,例如发送电子邮件,提取社交数据,抓取等等.一切都很好,但我正在寻找如何监控系统(也就是排队消息的数量).我开始浏览芹菜来源,但我想我会在这里发布我的问题:首先,这是我的配置:

BROKER_BACKEND                  = "redis" 
BROKER_HOST                     = "localhost" 
BROKER_PORT                     = 6379 
BROKER_VHOST                    = "1" 
REDIS_CONNECT_RETRY     = True 
REDIS_HOST                              = "localhost" 
REDIS_PORT                              = 6379 
REDIS_DB                                = "0" 
CELERY_SEND_EVENTS                      = True 
CELERYD_LOG_LEVEL               = 'INFO' 
CELERY_RESULT_BACKEND           = "redis" 
CELERY_TASK_RESULT_EXPIRES      = 25 
CELERYD_CONCURRENCY             = 8 
CELERYD_MAX_TASKS_PER_CHILD = 10 
CELERY_ALWAYS_EAGER                     =True
Run Code Online (Sandbox Code Playgroud)

我要做的第一件事是监视队列中有多少消息.我假设,在幕后,redis后端只是从列表中推送/弹出,虽然我似乎无法在代码中找到它.所以我模拟了一个模拟,我开始大约100个任务,并试图在redis中找到它们:我的celeryd运行如下:python manage.py celeryd -c 4 --loglevel = DEBUG -n XXXXX --logfile = logs/celery.log所以我应该一次只有4个并发工作者......我不明白的两件事:问题1:排队完成100个任务后,在redis上查找它们,我只看到以下内容:

$ redis-cli 
redis 127.0.0.1:6379> keys * 
1) "_kombu.binding.celery" 
redis 127.0.0.1:6379> select 1 
OK 
redis 127.0.0.1:6379[1]> keys * 
1) "_kombu.binding.celery" 
2) "_kombu.binding.celeryd.pidbox" 
redis …
Run Code Online (Sandbox Code Playgroud)

python django redis celery django-celery

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

JQuery Selector重写

我到处都做这种事情,我正在寻找最有效的(计算+语法)方式来执行:

ids =[]
$('tr.selectON td').each( function() { 
    var answer_query = $(this).attr('id');
    if ( answer_query !== undefined ) { 
        ids.push( answer_query ) 
    }   
});
Run Code Online (Sandbox Code Playgroud)

我可以访问underscore.js,我怀疑它会有所帮助.

javascript jquery underscore.js

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