अजगर समारोह एक अजगर सूची देता है

पायथन मॉड्यूल फ़ंक्शन

with open(xml_append_back) as fd1:
    doc = xmltodict.parse(fd1.read())
    codes = []

    for p in doc['Des']['Config']:
            codes.append(p['@Id'])
            codes.append(pl['@name'])


print(codes)
return codes

codes = ['f2ee4681', 'Conf. no: 1', '89282c5b', 'Conf. no: 2', '3e9dd219', 'Conf. no: 3', '773044b9'] # returned from python  to flask template result.html

मैं इस चर को इस फ्लास्क फ़ाइल की तरह अपने templates/flask.html में कॉल करता हूं

@app.route('/result',methods = ['POST', 'GET'])
def result():

const_ids=run_d.run_de_selected_configs() # this function returns "codes" 

return render_template("result.html",result = 
constraint_names_from_form,result1=constraint_ids)

परिणाम.एचटीएमएल फ़ाइल

{% for key,key1  in result1 %}
<tr class="even"><td>{{ key }}</td><td>{{ key1 }}</td></tr> 

होना चाहिए

<tr class="even"><td>f2ee4681</td><td>Conf. no: 1</td></tr>
{% endfor %}

मैं क्या गलत कर रहा हूं

0
user17970 3 अक्टूबर 2018, 04:41

2 जवाब

सबसे बढ़िया उत्तर

वर्तमान में आपका कोड सभी Id और name मानों को एक ही फ्लैट सूची में पैक कर रहा है। यह सही काम नहीं करता है जब आपको बाद में इसे फिर से शुरू करने की आवश्यकता होती है, क्योंकि आप प्रति पुनरावृत्ति दो मान चाहते हैं और आपको केवल एक ही मिल रहा है।

जबकि सूची से जोड़े पर पुनरावृति करने के कुछ तरीके हैं (जैसे zip(*[iter(x)]*2)), मेरा सुझाव है कि आप सीधे टुपल्स की एक सूची बनाएं।

बदलने का प्रयास करें:

        codes.append(planet['@Id'])
        codes.append(planet['@name'])

प्रति:

        codes.append((planet['@Id'], planet['@name']))
0
Blckknght 4 अक्टूबर 2018, 00:06

अपने स्वयं के प्रश्न का उत्तर देने के लिए मैंने अपने पायथन कोड में ज़िप उपयोगिता का उपयोग किया क्योंकि ज़िप फ्लास्क में उपलब्ध नहीं है

function returncodes()
-------
--------- 

return zip(codes,codeNames) # in my case

फ्लास्क टेम्पलेट में कोई बदलाव नहीं

@app.route('/result',methods = ['POST', 'GET'])
def result():

const_ids=run_d.run_de_selected_configs() # this function returns "codes" 

return render_template("result.html",result = 
constraint_names_from_form,result1=constraint_ids)

अब मेरे result.html . में

{% for keys,keys2 in result1 %}
<tr class="even"><td>{{keys}}</td><td>{{keys2}}</td></tr>

 {% endfor %}
0
user17970 4 अक्टूबर 2018, 00:03