Как запустить скрипт Python в проекте Django, в котором есть несколько моделей Django - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть скрипт, который я хочу запустить из терминала внутри проекта django, и этот скрипт является скриптом python, и в нем есть несколько моделей django. Так как я могу запустить этот скрипт, так как я не могу запустить его напрямую.Также все находится внутри контейнера докера.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Мы можем использовать django-extentions link для этой проблемы, и когда мы захотим, мы можем запустить наш скрипт из django-console.Здесь мы можем заполнить данные фикстуры или выполнить произвольную команду, какую хотим.

0 голосов
/ 14 февраля 2019

Для автономного скрипта, использующего модели Django, я предлагаю использовать настраиваемые команды управления .

Например, вы можете написать скрипт main/management/commands/my_script_1.py (см. Документацию о том, почему он идеттам):

from django.contrib.auth.models import User
from django.core.management.base import BaseCommand
from main.models import SomeModel1

class Command(BaseCommand):
    def handle(self, *args, **options):
        self.stdout.write('SomeModel1: {}'.format(
            SomeModel1.objects.count()))

И затем вы можете вызвать скрипт следующим образом (пример в linux):

$ ./manage.py my_script_1

Вот один из моих предыдущих ответов примерно на ту же тему.

...