Flask memberikan string ke jinja?

Oct 23 2020

Apakah mungkin untuk melewatkan string f? Saya pikir ini akan menggunakan jinja? Maaf masih belajar ...

Saya juga bereksperimen dengan format XML .. Tapi kalau saya jalankan ini

from flask import Flask, Response


class MyResponse(Response):
    default_mimetype = 'application/xml'

class MyFlask(Flask):
    response_class = MyResponse

    
app = MyFlask(__name__)

num = 55
name = Jon Smith

string = f'{name} Employee ID {num}'

@app.route('/')
def get_data():
    return '''<?xml version="1.0" encoding="UTF-8"?>
<person>
    <name> {string} </name>
</person>
'''

if __name__ == '__main__':
    app.run(debug=True)

Di Postman ini muncul sebagai:

<?xml version="1.0" encoding="UTF-8"?>
<person>
    <name> {string} </name>
</person>

Jawaban

2 UmairMubeen Oct 23 2020 at 19:27

gunakan .formatuntuk melewatkan string

app = Flask(__name__)

num = 55
name = 'Jon Smith'

string = f'{name} Employee ID {num}'
print(string)
@app.route('/')
def get_data():
    return '''<?xml version="1.0" encoding="UTF-8"?>
<person>
    <name> {string} </name>
</person>
'''.format(string=string)


if __name__ == '__main__':
    app.run(debug=True, port=5000)