Как передать переменную python в мой шаблон HTML файл? - PullRequest
1 голос
/ 23 февраля 2020

Я использую django и хотел бы узнать, как передать переменную, сгенерированную в моем скрипте python, в мой файл html шаблонов. Дело в том, что мой скрипт al oop, и я ожидаю, что через некоторое время он обновит это значение, однако я не могу сделать это путем рендеринга из views.py , как при попытке рендеринга и передав его в html, он как бы просто ударил все выходные данные скрипта, а затем обработал файл html, поместив их в одну ссылку на переменную python, которую я поместил в мой файл html. Буду признателен за любую оказанную помощь. Спасибо! Это мой файл l oop, который у меня есть:

def SIVAResponse(audio):
    "speaks audio passed as argument"
    response ="SIVA: " + audio + "\n"
    if 'siva' or 'SIVA' in audio:
        audio = audio.replace("siva", "seeva")
        for line in audio.splitlines():
            os.system("say " + audio)

    else:
        for line in audio.splitlines():
            os.system("say " + audio)

def assistant(command):
    "if statements for executing commands"

    if 'end' in command:
        SIVAResponse("Have a nice day bro.")
        sys.exit()

    elif 'hello' in command:
        day_time = int(strftime('%H'))
        if day_time < 12:
            SIVAResponse('Hello Sir. Good morning')
        elif 12 <= day_time < 18:
            SIVAResponse('Hello Sir. Good afternoon')
        else:
            SIVAResponse('Hello Sir. Good evening')
    else:
        myCommand()

    SIVAResponse('Hi sup bro, My name is siva,what can i do for you?')

while True:
    myCommand()

Вот так выглядит мой views.py:

def LoadSivaGUI(request):
    return render(request, 'SIVA/sivaGUI.html')


def StartAIbutton(request):

    run([sys.executable,"the path to my loop file"],shell=False,stdout=PIPE)
    return render(request, 'SIVA/sivaGUI.html')

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

При использовании функциональных представлений проще всего добавить нужную информацию в «Возврат через словарь», например:

def LoadSivaGUI(request):
    your_data = some_function_to_get_your_data()
    return render(request, 'SIVA/sivaGUI.html' {'my_data': your_data})
0 голосов
/ 23 февраля 2020

вы можете использовать в views.py перед возвратом страницы шаблона:

import sched, time
s = sched.scheduler(time.time, time.sleep)
def do_something(sc): 
    print "Doing stuff..."
    # do your stuff
    s.enter(60, 1, do_something, (sc,))

s.enter(60, 1, do_something, (s,))
s.run()
...