2009-11-30 43 views
2

我想使用沒有PINAX的django-mailer程序。當我運行./manager.py send_mail 它打印:如何在沒有PINAX的情況下使用django郵件程序

 
Unknown command: 'send_mail' 
Type 'manage.py help' for usage. 

我該如何解決這個問題?

 
Python 2.5.1 (r251:54863, Sep 22 2007, 01:43:31) 
[GCC 4.2.1 (SUSE Linux)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
(InteractiveConsole) 
>>> from django.conf import settings 
>>> 'mailer' in settings.INSTALLED_APPS 
True 
>>> 

$./manage.py send_mail 
Unknown command: 'send_mail' 
Type 'manage.py help' for usage. 

,我用的easy_install Django的郵件安裝郵件和Django的版本 是

 
    VERSION = (1, 1, 1, 'final', 0) 

和郵件版本是0.1.0

+0

現在我知道爲什麼: 使用git clone和python ./setup.py安裝重新安裝郵件程序,它工作正常! 也許easy_install在這裏不起作用。 – fallhunter 2009-12-07 07:26:15

+0

您是否安裝了它並將其添加到了您的'INSTALLED_APPS'設置? – jcdyer 2009-11-30 15:41:55

回答

6

幾件事要仔細檢查:

  1. 你安裝Django的郵件?
  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子[選項] [參數]
[...]
的runserver
send_mail

[.. ]
$

後比你還希望通過一個cron作業,以確保您正在運行./manage.py send_mail

* * * * * (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的郵件模塊有使用說明,但這應該讓你啓動和運行。

+0

添加檢查以確保項目可以導入郵件程序。該問題已更新,以確認通過easy_install安裝了django-mailer,但「未知命令」錯誤表明郵件程序可能無法通過當前的PYTHONPATH環境設置使用。 – istruble 2009-12-02 00:43:51

相關問題