Articles of django

从Django运行一个shell命令

我正在开发一个Django的网页(使用Apache服务器),需要调用一个shell命令来启用/解除一些守护进程。 我正在努力做到这一点 os.system(service httpd restart 1>$HOME/out 2>$HOME/error) 而这个命令不会返回任何东西。 任何想法如何解决这个问题?

Apache Django Mod_Wsgi – 自动重载

我试图自动重新加载我的本地Windows机器上使用Apache + mod_wsgi的Django应用程序。 我想知道我在哪里添加下面的文章中引用的代码: http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode def _restart(path): _queue.put(True) prefix = 'monitor (pid=%d):' % os.getpid() print >> sys.stderr, '%s Change detected to \'%s\'.' % (prefix, path) print >> sys.stderr, '%s Triggering Apache restart.' % prefix import ctypes ctypes.windll.libhttpd.ap_signal_parent(1)

如何将远程IP传递给代理服务? – Nginx

我正在127.0.01:8000在本地运行一个服务 我正在通过使用代理: proxy_pass http://127.0.0.1:8000; 问题是我需要将用户的IP地址传递给服务。 有任何想法吗?

gunicorn错误(exception终止)

即时通讯运行的结构脚本,其中包括,应该重新启动在Ubuntu服务器gunicorn,命令如下: supervisorctl status projectname:gunicorn | sed "s/.*[pid ]\([0-9]\+\)\,.*/\1/" | xargs kill -HUP 问题是,gunicorn似乎并没有运行在第一个地方,所以过程不能被杀死,我ssh'd进入亚马逊ec2实例,跑 sudo supervisorctl restart projectname:gunicorn' 我得到一个错误回应,说: 项目名称:gunicorn:错误(未运行)项目名称:gunicorn错误(exception终止) 所以我试图通过运行启动gunicorn sudo supervisorctl start projectname:gunicorn 和错误说 '项目名称:gunicorn:错误(exception终止)' 所以我需要运行gunicorn,并且即时遇到麻烦 我也检查了gunicorn日志和下面的文字,下面是相关的输出 2014-01-17 14:58:14 [12260] [INFO] Starting gunicorn 0.14.3 2014-01-17 14:58:14 [12260] [INFO] Listening at: http://127.0.0.1:9000 (12260) 2014-01-17 14:58:14 [12260] [INFO] Using worker: sync 2014-01-17 14:58:14 [12263] [INFO] Booting […]

上传大文件时超时?

我在一个运行gunicorn和Nginx的Linux平台上运行Django应用程序。 我允许用户上传应用程序处理并添加到后端数据库的CSV文件(大约2MB)。 问题是对于大文件,大约2或3分钟后,某个东西似乎会超时,并且会显示一个标题为“404 Not Found nginx / 0.7.6”的页面。 然而,URL不会改变 – 即它仍然是我的应用程序的file upload页面的URL。 Nginx错误日志显示: 2011/09/08 13:28:05 [error] 1349#0:* 303上行超时(110:连接超时),从上游读取响应头,客户端:213.146.112.122,server:_,request:“POST / app / import_csv / HTTP / 1.1“,上游: 任何想法发生了什么? 我怎样才能增加这个超时?

作为根源运行芹菜

由于访问原因,我需要以root身份运行我的Django。 它说我需要设置C_FORCE_ROOT环境variables。 如何/在哪里设置环境variables?

创build一个Cron作业 – Linux / Python

嗨,我有一个Django脚本,我需要运行, 我认为这些命令可以通过bash调用。 事情是脚本在很长一段时间后导致内存泄漏,所以我想创build一个调用Python脚本的外部cron作业。 因此,脚本将终止并重新启动,同时重新获得丢失的内存。 有人能指出我正确的方向吗? 我对这个问题知之甚less,感觉有点失落。

Djangoforms下拉列表中的数字

我是新来的Django,我想做一个简单的forms,根据文档我可以使用表单模块从Django from django import forms class CronForm(forms.Form): name = forms.CharField(max_length=100) email = forms.EmailField(required=False, label='Your e-mail address') message = forms.CharField(widget=forms.Textarea) def clean_message(self): message = self.cleaned_data['message'] num_words = len(message.split()) if num_words < 4: raise forms.ValidationError("Not enough words!") return message 我想知道如何创build一个月的下拉列表,即从1到31? 有些已经完成了在他们的表单模板使用JavaScript,可以在Django中完成吗?

如何在不延迟任务的情况下轻松重启Celery

我们在我们的Django webapp中使用Celery来pipe理离线任务; 其中一些任务可以运行长达120秒。 每当我们做任何代码修改,我们需要重新启动芹菜重新加载新的Python代码。 我们目前的解决scheme是发送一个SIGTERM到主Celery进程( kill -s 15 `cat /var/run/celeryd.pid` ),然后等待它死掉并重新启动它( python manage.py celeryd –pidfile=/var/run/celeryd.pid […] )。 由于长时间运行的任务,这通常意味着关机将花费一两分钟的时间,在此期间不会处理新的任务,从而导致当前站点上的用户明显延迟。 我正在寻找一种方法告诉Celeryclosures,但是立即启动一个新的Celery实例来开始运行新的任务。 事情没有工作: 发送SIGHUP到主进程:这导致Celery尝试“重启”,通过热关机然后重新启动。 这不仅花费很长时间,甚至不工作,因为新进程显然是在旧进程死亡之前启动的,所以新进程抱怨ERROR: Pidfile (/var/run/celeryd.pid) already exists. Seems we're already running? (PID: 13214) ERROR: Pidfile (/var/run/celeryd.pid) already exists. Seems we're already running? (PID: 13214) ERROR: Pidfile (/var/run/celeryd.pid) already exists. Seems we're already running? (PID: 13214)并立即死亡。 (这看起来像是芹菜本身的一个bug,我已经让他们知道了。) […]

在Django设置文件中无法获取环境variables

我试图读取Django设置中的一些环境variables,我已经在/home/user/.bashrc(和后者在/etc/bash.bashrc)中定义了这些variables,但是我得到的是一个KeyErrorexception。 我知道我的环境variables已设置,因为我可以在terminal(echo $ VAR_NAME)中打印它们。 这应该是微不足道的。 这是我正在使用的代码。 from django.core.exceptions import ImproperlyConfigured msg = "Set the %s environment variable" def get_env_variable(var_name): try: return os.environ[var_name] except KeyError: error_msg = msg % var_name raise ImproperlyConfigured(error_msg) OS_DB_USER = get_env_variable('MY_USER') OS_DB_PASS = get_env_variable('MY_PASS') OS_DB_DB = get_env_variable('MY_DB') OS_GAME_LOGS = get_env_variable('DIR_LOGS') 我只是找不到缺less的东西。 有什么build议吗? 谢谢 编辑:用mod_wsgi在Apache上运行。