Задать вопрос
@PtrGrd

Как сделать веб-интерфейс для управления скриптом?

Здравствуйте. Подскажите, как лучше сделать. Что имеем: проект, написанный на Python, а также развернутый на отдельном сервере и стремление управлять этим проектом, манипулируя его настойками и передавая входные данные, файлы прямиком из окна браузера. Нужен совет в том, как лучше такое реализовать, чтобы было безопасно (без доступа к системе посторонним лицам). Рассматривались варианты Django-админки, самописного аналога, CGI.
Благодарю всех за ответы.
  • Вопрос задан
  • 416 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@MusArtVlad
Новичок в программировании
несколько вариантов:
1. Django — удобный, понятный, легко работать. Собственная структура и шаблонизатор. В любом случае работаешь через связку BackEnd — Front
2. Flask — легковесный, простой, легко работать. преимущества почти те же, что с Django
3. JS — Какая разница, через какой язык отправлять данные на Back питона? Лёгкий. Нет необходимости использовать шаблонизатор. Честно берёт и отправляет данные с фронта на Backend и забирает с бэка ответ обратно. как раз на твой скрипт. Много примеров работы этой связки.
4. Html+Css form — без JS. Чисто формой. Доступ у других людей будет. Но ты сможешь сделать вход по паролю без проблем.
Пример отправки формы на Python без обратной связи
import requests
# Если нужны Header → from requests.structures import CaseInsensitiveDict

url = "https://qna.habr.com/q/1139382"

# Сюда вставляешь Headers, если надо.
# headers["Authorization"] = "PtrGrd"
# headers["Content-Type"] = "application/Chrome, например. Или что там пишется"

data = "name=PtrGrd&password=qwerty123&yetanother=123"


resultat = requests.post(url, headers=headers, data=data)

print(resultat.status_code)


Если держать на локальной машине, есть смысл запускать только js или html.
На сервере — доступ через авторизацию к скрипту. И управлять своим скриптом через форму. Это проще всего и быстрее.
если знаешь фласк или джанго - можешь и их использовать. Только не утяжелишь ли ты проект? Нам бы цели и масштабы. А то может тебе понадобится Vue.js

Если надо получать «обратную связь», то используй Flask.
Вот пример:
Html:
<html> <!-- index.html -->
<body>
    <p>Время срабатывания скрипта: {{ time_to_start }} секунд</p>
</body>
</html>

Python:
from flask import Flask, render_template

app = Flask('Mega')

@app.route('/')
def index():
    tts = 60
    return render_template('index.html', time_to_start=tts)

if __name__ == '__main__':
    app.run()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
ИМХО Flask для этого гораздо проще, короче и быстрее в написании.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы