Как можно запустить скрипт python на странице ( Django)
Есть самодельные скрипты которые выполняют рутинные задачи. Начал изучать Django. Нужно/хочу сделать кнопочку на html странице, нажав на которую запустится нужный мне скрипт и вернет на страницу результат выполнения. Собственно вопрос в следующем никак не могу понять как это сделать. Может кто подсказать куда копать или показать пример такого действия?
Ответы (2 шт):
Один из вариантов решения (пример):
Во views.py
def own_func(request):
context = {'useful_value': 1}
if request.method == "POST":
run_any_script()
return render(request, 'your_html_page.html', context)
Простенькая функция, которая передает на страницу переменную useful_value = 1 (повторюсь как пример), и при нажатии на кнопку на странице, которая имеет метод POST, выполняет какой-то скрипт (что там, ваша фантазия).
- сделать html форму которая отправляет запрос.
<form action="{% url 'parser' %}" method="post">
{% csrf_token %}
...
</form>
- прописать путь до метода в urls.py
path('parser/', views.parser, name='parser'),
- Написать метод который будет парсить(вызывать парсер).
def parser(request, *args, **kwargs);
resp = start_parser(**kwargs)
return render(request, 'page.html', {'resp': resp})
Естественно не упуская прочие условия на тип метода и авторизован ли юзер...