小编Has*_*aig的帖子

解释 django 项目中的 pgbouncer 日志条目

我在我pgbouncer的 Django 网络应用程序中使用。应用服务器和数据库服务器是两个独立的虚拟机。pgbouncer安装在应用服务器上。中的相关设置pgbouncer.ini是:

[databases]
dbname = host=80.211.128.113 port=5432 dbname=dbname

pool_mode = transaction
max_client_conn = 250
default_pool_size = 100
Run Code Online (Sandbox Code Playgroud)

pgbouncer 接手后,我检查pgbouncer.log并发现了很多条目,如下所示:

2016-11-15 12:26:27.514 582 LOG S-0x1192740: dbname/myuser@80.211.128.113:5432 new connection to server
2016-11-15 12:26:27.517 582 LOG C-0x11afcb8: dbname/myuser@127.0.0.1:42262 login attempt: db=dbname user=myuser
2016-11-15 12:26:27.523 582 LOG S-0x1192a10: dbname/myuser@80.211.128.113:5432 new connection to server
2016-11-15 12:26:27.528 582 LOG C-0x11af880: dbname/myuser@127.0.0.1:42250 closing because: client close request (age=0)
2016-11-15 12:26:27.528 582 LOG S-0x1191a98: dbname/myuser@80.211.128.113:5432 closing because: unclean server …
Run Code Online (Sandbox Code Playgroud)

django pgbouncer

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

从功能手机的移动浏览器打开短信应用程序?

通过HTML,是否可以从移动浏览器访问/打开SMS应用程序?

如果SMS通过用户自己的移动运营商(正常情况下)路由,也可以,并且也向所述用户收费.我不想创建自己的SMS网关来提供发送此类消息的平台.我只对从移动浏览器调用SMS功能感兴趣.

我见过以下例子:<a href="sms://+14035550185">Send an SMS</a>但我不确定它们的工作范围有多广泛.我需要一个强大的解决方案,适用于广泛的移动浏览器(尤其是老式功能手机).我不想使用HTML5或Javascript.我所针对的大多数老式功能手机浏览器都不支持Javascript - 因此它是一个瓶颈.

html sms mobile-website mobile-browser

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

防止DDOS攻击,对于使用nginx反向代理+ gunicorn的Django应用程序

我正在编写一个Django应用程序,它使用nginx反向代理+ gunicorn作为生产中的Web服务器.

我希望包括阻止来自某个IP(或IP池)的DDOS攻击的功能.这是在nginx级别,而不是代码中的任何更深层次.我需要Web应用程序防火墙吗?如果是这样,我该如何整合它.

我的项目位于可用站点的nginx文件具有:

server {
    listen 80;
    charset utf-8;
    underscores_in_headers on;
    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {

        root /home/sarahm/djangoproject/djangoapp;
    }

    location /static/admin {

        root /home/sarahm/.virtualenvs/myenv/local/lib/python2.7/site-packages/django/contrib/admin/static/;
    }

    location / {
        proxy_pass_request_headers on;
        proxy_buffering on;
        proxy_buffers 8 24k;
        proxy_buffer_size 2k;
        include proxy_params;
        proxy_pass          http://unix:/home/sarahm/djangoproject/djangoapp/djangoapp.sock;
    }


    error_page 500 502 503 504 /500.html;
    location = /500.html {
        root /home/sarahm/djangoproject/djangoapp/templates/;
   }
}
Run Code Online (Sandbox Code Playgroud)

如果我应该包含更多信息以及该信息应该是什么,请告诉我.

security django ddos nginx

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

如何批量更新Django查询集的多对多字段

如何更新 - 批量 - Django数据模型的查询集中的多对多字段?

例如,我有一个名为的数据模型Photo,另一个名为PhotoStream.在Photo,我有which_stream = models.ManyToManyField(PhotoStream).

我提取了一个Photos被调用的查询集childhood_photos,我需要PhotoStream在这个查询集中的所有对象的多对多字段中添加一个新对象.我们称这个PhotoStream对象for_classmates.

我试试childhood_photos.update(which_stream.add(for_classmates)),但它给了我一个错误:全局名称'which_stream'没有定义.

我该怎么做这个操作?

python django django-models django-views

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

如何反转 Django 模板中的 for 循环,然后对结果进行切片

在 Django 模板中,我遍历一组照片,并一张一张地显示它们。具体来说,现在我只有一组照片,包含 6 个对象。我像这样显示这 6 个对象:

{% for pic in picstream.photo_set.all reversed %}
    <img src="{{ pic.image_file.url }}"></img>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

添加reversed到语句中给了我所需排序的 6 个对象(即首先是最新的 id)。

接下来,我想从photo_set. 我添加|slice:":4"picstream.photo_set.all以实现此目的。问题是,它从我想要的排序中切断了前两个对象

这似乎也应已扭转列表的方式第一,和切片?需要一种简单的方法来做到这一点,而不会影响性能。

django django-templates

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

从主机运行 supervisord,从 virtualenv(Django 应用程序)运行 celery

我正在尝试使用 celery 和 redis 队列为我的 Django 应用程序执行任务。Supervisord 通过 安装在主机上apt-get,而 celery 驻留在我系统上的特定 virtualenv 中,通过`pip 安装。

结果,我似乎无法celery通过 supervisord 运行命令。如果我从 virtualenv 内部运行它,它可以正常工作,在它之外,它不会。如何让它在我当前的设置下运行?解决方案是否只是celery通过 apt-get安装,而不是在 virtualenv 中安装?请指教。

我在 /etc/supervisor/conf.d 中的 celery.conf 是:

[program:celery]
command=/home/mhb11/.virtualenvs/myenv/local/lib/python2.7/site-packages/celery/bin/celery -A /etc/supervisor/conf.d/celery.conf -l info
directory = /home/mhb11/somefolder/myproject
environment=PATH="/home/mhb11/.virtualenvs/myenv/bin",VIRTUAL_ENV="/home/mhb11/.virtualenvs/myenv",PYTHONPATH="/home/mhb11/.virtualenvs/myenv/lib/python2.7:/home/mhb11/.virtualenvs/myenv/lib/python2.7/site-packages"
user=mhb11
numprocs=1
stdout_logfile = /etc/supervisor/logs/celery-worker.log
stderr_logfile = /etc/supervisor/logs/celery-worker.log
autostart = true
autorestart = true
startsecs=10

stopwaitsecs = 600

killasgroup = true

priority = 998
Run Code Online (Sandbox Code Playgroud)

我的 Django 项目的文件夹结构是:

/home/mhb11/somefolder/myproject
??? myproject
?   ??? celery.py       # The Celery app …
Run Code Online (Sandbox Code Playgroud)

python django redis celery supervisord

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

如果项目在一个或两个(或N个)其他列表中,则如何从列表中删除该项目

我有一个名为的父列表parent_list,以及我要过滤的两个子集parent_list.这些子集也是python列表,它们被称为filter1filter2.

我可不可以做:

final_list = [object for object in parent_list if object.pk not in filter1 or filter2]
Run Code Online (Sandbox Code Playgroud)

或者我是否需要单独进行此过滤,如:

intermediate_list = [object for object in parent_list if object.pk not in filter1]
final_list = [object for object in intermediate_list if object.pk not in filter2]
Run Code Online (Sandbox Code Playgroud)

我无法从python列表推导的文档中明确找到答案.

python list-comprehension

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

使用Django调试工具栏分析POST响应

Django调试工具栏是一个很好的工具,可以分析缓慢的SQL查询-等等。我可以在Django应用中针对GET响应执行此操作。我的问题是:如何配置(和优化)我的POST响应?

django django-debug-toolbar

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

从 Django 查询集中过滤掉重复值和无值

在 Django 应用程序中,我可以访问用户会话,然后使用flat=True. 例如我在做:

Session.objects.filter(last_activity_gte=time_window).values_list('user_id',flat=True)
Run Code Online (Sandbox Code Playgroud)

但结果受到重复和None值的污染。如何执行相同的查询并过滤掉 None 或重复项?

一种方法是:

time_window = timezone.now() - timedelta(minutes=5)
user_ids = Session.objects.filter(last_activity_gte=time_window).values_list('user_id',flat=True)
user_ids = [id for id in user_ids if id is not None]
user_ids = set(user_ids)
Run Code Online (Sandbox Code Playgroud)

但我想知道我是否可以在查询数据库时直接实现这一点,这样会更快。性能至关重要。


如果有人感兴趣,我正在使用https://github.com/Bouke/django-user-sessions来访问 Django 会话对象作为 ORM 对象

django django-orm django-queryset

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

确保任何浏览器都不会缓存 django 模板

我有一个基于类的 django 模板DetailView。我已经覆盖了 的get_context_data方法DetailView,使用它来传递context我在模板中显示的一些必需变量(本质上是一个图像)。这就是我所做的一切。

我如何确保我的这个特定的 django 模板永远不会被任何浏览器缓存?通过各种渠道涉水告诉我,我需要过骑HttpResponsedispatch实现无缓存的方法?

据我所知,我需要设置Cache-ControlPragmaExpiry等我只是一直无法作出关于是否要前进(或如何)过度乘坐调度方法。有人可以给我一个简单的说明性示例,说明他们将如何为这样的模板实现无缓存?

python django httpresponse django-views

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