2

我想使用没有 PINAX 的 django-mailer。当我运行./manager.py send_mail 它时打印:

未知命令:'send_mail'
键入“manage.py help”以供使用。

我该如何解决?

Python 2.5.1(r251:54863,2007 年 9 月 22 日,01:43:31)
[GCC 4.2.1 (SUSE Linux)] 在 linux2 上
输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。
(交互式控制台)
>>> 从 django.conf 导入设置
>>> settings.INSTALLED_APPS 中的“邮件程序”
真的
>>>

$./manage.py 发送邮件
未知命令:'send_mail'
键入“manage.py help”以供使用。

我使用easy_install django-mailer来安装邮件程序,django版本是

    版本 = (1, 1, 1, 'final', 0)

邮件程序版本为 0.1.0

4

2 回答 2

6

需要仔细检查的几件事:

  1. 你安装了 django-mailer 吗?
  2. 邮件程序在您的 PYTHONPATH 中吗?导入邮件程序时,您是否获得了预期的模块(版本和预期的路径)?
  3. 邮件程序是否列在您的 INSTALLED_APPS 中?
$ ./manage.py shell
>>> import mailer
>>> mailer.get_version()
'0.1.0'
>>> mailer.__file__
/PATH/TO/YOUR/PYTHON/LIBS/mailer/__init__.py
>>> # did it import?  did you get the expected version?  expected path?  
>>> # good, django-mailer is in your PYTHONPATH.  now verify project settings.
>>> from django.conf import settings
>>> 'mailer' in settings.INSTALLED_APPS
True

此时,您应该在可用的 manage.py 子命令列表中看到 send_mail。

$ ./manage.py --help
用法:manage.py 子命令 [options] [args]
[...]
runserver
send_mail
shell
[...]
$

之后,您还需要确保您正在./manage.py send_mail通过 cron 作业运行。

* * * * * (cd $YOUR_PROJECT; /usr/bin/python manage.py send_mail >> cron_mail.log 2>&1)  
0,20,40 * * * * (cd $YOUR_PROJECT; /usr/bin/python manage.py retry_deferred >> cron_mail_deferred.log 2>&1)

在开发过程中无需实际设置这两个 cronjobs,只需通过管理员查找您的消息即可。

django-mailer 模块有使用说明,但这应该能让你启动并运行。

于 2009-11-30T23:43:20.883 回答
2

你不能从django-mailer下载它并单独安装吗?

于 2009-11-30T13:03:23.317 回答