我試圖將自定義django命令作爲Heroku上的計劃任務運行。我可以通過以下方式在本地執行自定義命令:python manage.py send_daily_email
。 (注:我沒有與自定義管理命令本身的任何問題)在Heroku上運行Django自定義manage.py任務 - 導入問題
然而,Heroku的試圖「運行」通過Heroku的調度程序插件任務的時候給了我以下異常:
Traceback (most recent call last):
File "bin/send_daily_visit_email.py", line 2, in <module>
from django.conf import settings
ImportError: No module named django.conf
我放在一個python腳本在/bin/send_daily_email.py,它是:
#! /usr/bin/python
from django.conf import settings
settings.configure()
from django.core import management
management.call_command('send_daily_email') #delegates off to custom command
在Heroku的,但是,我能夠運行heroku run bin/python
- 推出蟒蛇殼 - 和成功全面導入settings
從django.conf
我敢肯定它是與我的PYTHON_PATH
或能見度Django的SETTINGS_MODULE
,但我不知道該如何解決這個問題。有人能指出我正確的方向嗎?有沒有更簡單的方法來完成我在這裏要做的事情?
非常感謝您的提示和建議提前! Heroku新手! :)
編輯:
每尼克斯的評論,我做了一些調整,並沒有發現,我指定確切的蟒蛇路徑,我沒有得到過Django的設置。
我現在得到:
File "/app/lib/python2.7/site-packages/django/core/management/__init__.py", line 155, in call_command
raise CommandError("Unknown command: %r" % name)
django.core.management.base.CommandError: Unknown command: 'send_daily_email'
雖然,我可以看到 'send_daily_email' 當我運行``Heroku的運行斌/ Python應用程序/ manage.py```。
如果我遇到問題的答案,我會保留更新。
哇。你是對的。當我調用'''heroku run bin/python bin/send_daily_email.py'''(vs.'''heroku run bin/send_daily_email.py)。我會修改我的答案,並顯示我目前的迴應,看看你是否可以幫助:)但我會說,所以你已經回答了這個問題。 – kturner