मैं django का उपयोग कर रहा हूं और मैं सीखना चाहता हूं कि एक वेरिएबल को कैसे पास किया जाए जो मेरी पायथन लिपि में मेरे टेम्पलेट्स एचटीएमएल फाइल में जेनरेट किया गया था। बात यह है कि मेरी स्क्रिप्ट एक लूप है और मैं कुछ समय बाद इस मान को अपडेट करने की उम्मीद कर रहा हूं, हालांकि मैं इसे views.py से प्रस्तुत करके ऐसा नहीं कर सकता जब मैंने प्रतिपादन की कोशिश की और इसे एचटीएमएल में पास कर, यह सिर्फ स्क्रिप्ट के सभी आउटपुट को जोड़ता है और फिर एचटीएमएल फाइल को प्रस्तुत करता है जिसमें उन सभी को एक पाइथन वैरिएबल संदर्भ में रखा जाता है जिसे मैंने अपनी एचटीएमएल फाइल में रखा था। किसी भी प्रकार की मदद की बेहद सराहना की जाती है। धन्यवाद! यह मेरी लूप फ़ाइल है जो मेरे पास अब तक है:

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()

मेरे विचार इस प्रकार दिखते हैं:

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')
1
Upish Cat 23 फरवरी 2020, 11:57
आप अपनी खुद की पायथन लिपि को बाहरी निष्पादन योग्य क्यों कह रहे हैं? सीधे दृश्य से assistant को आमंत्रित करें। इसके अलावा इसे लूप में चलाने का कोई कारण नहीं है। यहां कोई लूप नहीं है: उपयोगकर्ता - अनुरोध, सहायक - प्रतिक्रियाएं। आपका सहायक कोई राज्य नहीं रखता है। मुझे लगता है कि आप इसे अपने लिए कर रहे हैं इसलिए चर्चा करने का कोई कारण नहीं है कि यह किसी रिमोट के लिए और एकाधिक उपयोगकर्ताओं के मामले में कैसे काम करेगा।
 – 
Ivan Starostin
23 फरवरी 2020, 13:23

2 जवाब

आप टेम्प्लेट पेज वापस करने से पहले view.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()
0
Mahan 23 फरवरी 2020, 12:07

फ़ंक्शन-आधारित विचारों के साथ, सबसे आसान तरीका यह होगा कि आप रिटर्न में आवश्यक जानकारी को इस तरह से एक शब्दकोश के माध्यम से जोड़ें:

def LoadSivaGUI(request):
    your_data = some_function_to_get_your_data()
    return render(request, 'SIVA/sivaGUI.html' {'my_data': your_data})
0
imolitor 24 फरवरी 2020, 16:15
क्या मुझे अपने फ़ंक्शन को view.py में आयात करने की आवश्यकता नहीं है?
 – 
Upish Cat
29 फरवरी 2020, 08:20
हाँ, यदि फ़ंक्शन some_function_to_get_your_data() view.py में नहीं रहता है, तो आपको उसे आयात करना होगा।
 – 
imolitor
2 मार्च 2020, 16:03