У меня есть проект django на Heroku, и мне нужно ежедневно обновлять БД. Вручную я бы открыл оболочку manage.py и напишу там следующее:

from app import views
views.function()

Один из способов сделать это автоматически - через планировщик heroku, однако я хотел бы знать, можно ли указать оболочке, какие команды она должна запускать.

Я делал это:

python -c "from app import views;views.function"

Но это дает мне ошибку, потому что это должно быть сделано в оболочке, а не в командной строке, так можно ли сказать оболочке, что она должна писать?

Спасибо

2
Oscar Or 20 Июн 2017 в 21:36
2
Cron также будет работать лучше здесь
 – 
Arpit Solanki
20 Июн 2017 в 21:40
1
Cron - хорошая идея. Сообщите мне, если мой ответ поможет
 – 
Juan Diego Garcia
20 Июн 2017 в 23:35

1 ответ

Лучший ответ

Вы можете написать собственную команду django, например my_command.py, и вызвать ее из командной строки:

python manage.py my_command

https://docs.djangoproject.com/en/1.11/howto/custom-management-commands/

2
Juan Diego Garcia 20 Июн 2017 в 21:40
Спасибо! Это то, что я искал <3
 – 
Oscar Or
20 Июн 2017 в 23:48