小编Has*_*aig的帖子

使用Postgresql数据库创建Azure Web App(可能吗?)

我使用Heroku来托管带有postgres后端的Django Web应用程序.我现在正在寻求将此Web应用程序迁移到Azure,充分利用了Azure最近提供的大量优势.

但我对一件事情感到困惑:我如何用postgresql作为数据库在Azure上创建一个Django网站?我成功创建了一个Django网站,将它连接到git,但我似乎无法将它的DB更改为postgresql.

因此,当我这样做时git push azure master,我得到错误:命令python setup.py egg_info失败,错误代码1在D:\ home\site\wwwroot\env\build\psycopg2它在psycopg2(postgresql)上失败.

其次,一旦我在Azure Web App上成功安装postgresql,我就需要调整它的postgresql.conf文件来调整设置(默认值太低).我该怎么办?


该文档仅讨论如何为使用Linux的Azure VM安装PG,而不是Azure Web App:https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-postgresql/

python django postgresql heroku azure

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

使用Nginx作为Gunicorn前面的反向代理时,Django应用程序中的REMOTE_ADDR值为空

我已经将nginx设置为反向代理,背景为gunicorn。这个网络服务器设置提供了我的Django应用程序,该应用程序具有一个postgresql后端。整个设置托管在两台Ubuntu计算机上(一个是应用程序计算机,另一个是DB计算机)。

我仅通过gunicorn测试了此设置,没有使用nginx。工作完美。接下来将其投入生产,我在gunicorn前面添加了nginx反向代理。我立即遇到令人沮丧的错误:inet类型的无效输入语法:“”(当用户尝试登录我的Django应用时出现)

登录到我的应用程序的用户的IP地址保存在会话表中;Django自行完成。现在,众所周知的事实是Postgresql要求所有客户端IP都属于INET类(某些其他DB也允许字符串IP,但不允许postgres)。INET类型不允许“”(即空)值,而是为inet类型“”抛出错误的无效输入语法

换句话说,我的nginx反向代理未将其值发送REMOTE_ADDR到Django应用。单独使用gunicorn可以正确设置该值(因此一切正常)。我如何让nginx 在Django的request.META中将$remote_addr值传递REMOTE_ADDR给?

我已经尝试proto_set_header REMOTE_ADDR $remote_addr;location/ etc / nginx / sites-avaialble / myproject文件中的块中添加该文件。它不起作用- HTTP_REMOTE_ADDR稍后我可以在request.META中看到一个值,但REMOTE_ADDR仍为''。 在此处输入图片说明

那么,如何在Django的request.META中设置REMOTE_ADDR(即客户端的IP地址)字段?也许我可以通过gunicorn明确地传递它?有人提到我应该在数据库端处理它-我不确定该怎么做?我应该编辑pg_hba.conf还是postgresql.conf之类的东西吗?我已经查看了这些文件,没有选项可以记录“允许IP的空值”。而且,我宁愿将$ remote_addr中的任何值传递给Django,而不是让所有已登录用户的IP为空。

而且不要忘了,如果我使用gunicorn,那么在Django的请求中,REMOTE_ADDR就会正确设置。所以我的猜测是问题出在我如何通过nginx传递它。

请帮忙!如果需要,可以随时询问更多信息。


/ etc / nginx / sites-available / myproject:

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

    location /static/ {

        root /home/mhb11/folder/myproject;
    }

    location / …
Run Code Online (Sandbox Code Playgroud)

python django postgresql proxy nginx

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

根据列value_counts(pandas)过滤数据框

我是第一次尝试大熊猫。我有一个包含两列的数据框:user_idstring。每个user_id可能有几个字符串,因此多次出现在数据帧中。我想从中得出另一个数据框;仅user_ids列出strings与它们相关联的至少2个或更多的那些。

我尝试了一下df[df['user_id'].value_counts()> 1],我认为这是执行此操作的标准方法,但是它产生了IndexingError: Unalignable boolean Series key provided。有人可以弄清楚我的概念并提供正确的选择吗?

python pandas

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

Django视图被调用两次

我正在Django创建一个分类广告网站.单一视图功能可处理全球列表,城市列表,仅限易货的全球列表以及仅限易货的城市列表.这个观点叫做ads.

url模式按以下顺序编写(请注意,每个模式都有一个唯一的名称,尽管它与同一ads视图相关联):

urlpatterns = patterns('',
    url(r'^buy_and_sell/$', ads,name='classified_listing'),
    url(r'^buy_and_sell/barter/$', ads,name='barter_classified_listing'),
    url(r'^buy_and_sell/barter/(?P<city>[\w.@+-]+)/$', ads,name='city_barter_classified_listing'),
    url(r'^buy_and_sell/(?P<city>[\w.@+-]+)/$', ads,name='city_classified_listing'),
)
Run Code Online (Sandbox Code Playgroud)

问题是,当我点击classified_listing上面列表中命名的url时,函数ads会被调用两次.也就是我在终端中看到的内容:

[14/Jul/2017 14:31:08] "GET /buy_and_sell/ HTTP/1.1" 200 53758 
[14/Jul/2017 14:31:08] "GET /buy_and_sell/None/ HTTP/1.1" 200 32882
Run Code Online (Sandbox Code Playgroud)

这意味着加倍处理.我认为urls.py返回匹配的第一个url模式.我做错了什么,解决这个问题的最佳方法是什么?所有其他调用按预期btw工作(即仅一次).

注意:如果我错过了什么,请询问更多信息.


了解这些类型的出现的很好的解释:https://groups.google.com/d/msg/django-users/CRMMYWix_60/KEIkguUcqxYJ

django django-urls django-views

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

如何在Django中自动刷新/重定向视图

在Django中经过一定时间后,是否可以自动重定向(或刷新)模板(或更好的模板:它是基础视图)?例如通过使用重定向视图或类似的东西?一个例子会很好。

本质上,我需要近似<meta http-equiv="refresh" content="60;url here">,但是在Django中。当然,我确切地知道HTML中的meta refresh标签是如何工作的-但这个问题与之无关(或与使用JS达到相同的效果)。该标签有其自身的问题,例如,它在Opera Mini(对我的听众来说是至关重要的浏览器)中不起作用。

python django django-views

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

从 Django 视图重定向到外部网站

有没有办法从 Django 视图中重定向到另一个网站?我试过了return redirect("www.google.com"),但这不起作用。

django

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

Django应用程序中的密码字符串比较

根据设计,在任何Django应用程序中获取用户密码是不可能的.

我正在change password为我的Django应用程序实现一个功能,其中一个要求是确保用户不会保留与之前的密码相同的新密码.

我不能在这里进行字符串比较,那么在这种情况下,最佳模式是什么?

这就是我的想法:访问我的change password功能需要重新验证(即用户必须再次输入传递).我可以想象在此时将密码字符串保存在会话变量中(例如session.request['old_password']),然后将此会话变量与用户设置的新密码的字符串进行比较?这种模式有任何安全问题吗?

django

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

Redis 内存使用与备份占用的空间

我正在查看 Redis 为 Web 应用程序备份的 rdb 文件。有 4 个这样的文件(用于 4 个不同的 redis 服务器同时工作),大小为:13G + 1.6G + 66M + 14M = ~15G

然而,这 4 个实例似乎正在占用43.8GB内存(根据新遗物)。为什么redis数据在mem和disk中占用的空间相差这么大?可能是配置错误,问题是否有帮助?

redis

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

如何在 Django 模板中正确包含 SVG 精灵表

我创建了一个 SVG sprite 表,现在正在研究在 Django 模板中使用它的各种方法。

最简单的方法是:

  1. 在文件夹中添加精灵表templates/(例如templates/svg_spritesheet.svg
  2. 将其包含在 Django 模板中,如下所示:{% include "svg_spritesheet.svg" %}
  3. 通过以下方式在 HTML 代码中调用给定的 svg:<svg><use xlink:href="#my_svg"></use></svg>

这对我有用。但这种方法存在操作上的缺陷。

例如:我通常将静态资源存放在{{ STATIC_URL }}. 这对于组织目的来说更好。其次,我对{{ STATIC_URL }}. 不过,我的文件夹没有使用此类缓存/templates

因此,很自然地,在我看来,如果我将 SVG spritesheet 停放在 处会更好{{ STATIC_URL }}。但是一旦我这样做了,如何将它包含在我的 Django 模板中呢?

以下方法均无效:

  1. {% include 'static/svg_spritesheet.svg' %}
  2. {% include '{{ STATIC_URL }}svg_spritesheet.svg' %}
  3. <object type="image/svg+xml" data="{{ STATIC_URL }}svg_spritesheet.svg"></object>
  4. <link type="image/svg+xml" href="{{ STATIC_URL }}svg_spritesheet.svg">

专家能否给出一个说明性示例,说明如何使用放置在 处的 SVG 精灵表{{ STATIC_URL }}?提前致谢(如果有必要,我正在使用Django …

django svg

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

覆盖 Django 模板中的 &lt;head&gt; 标签

我有一个 Django 应用程序,用户可以在其中上传视频(通过 html5 标签播放video)。为了处理用户无法播放视频的极端情况,我为他们提供了下载视频的选项。

为此,我正在编写 JS,确保每当 asrc未加载时都会出现“下载”按钮。看一下:http://plnkr.co/edit/o8YFZNaEhpJMg4YPhZCO ?p=preview

问题是我的 JS 驻留在其中<head></head>,并且它需要能够访问我将在页面上显示的所有视频。

通常,我将视频对象作为 an 传递object_list,然后进行迭代(通过分页生成ListView)。但这一切都发生在bodyof模板中。

我如何才能访问> 以便我共享的 JS 片段可以利用源代码(我已经从 base.html 继承context[object_list])?其次,如何确保只将页面中的视频源传递到我的 JS 片段?<head<head>

有人能给我一个说明性的例子来解决这个问题吗?

django

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

从字典列表中清除空字典

我有一个像这样的词典列表:

[{'a':'21'},{},{'b':20'},{'c':'89'},{}]
Run Code Online (Sandbox Code Playgroud)

清除此列表中空字典的最有效方法是什么,最终结果为:

[{'a':'21'},{'b':'20'},{'c':'89'}]
Run Code Online (Sandbox Code Playgroud)

我尝试着:

new_list_of_dictionaries = []
for dictionary in list_of_dictionaries:
    if dictionary:
        new_list_of_dictionaries.append(dictionary)
return new_list_of_dictionaries
Run Code Online (Sandbox Code Playgroud)

我不认为这可以用O(1)或其他东西来完成?

python dictionary list

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