Flask Pass String an Jinja?

Oct 23 2020

Ist es möglich, einen f-String zu übergeben? Ich denke, würde dies Jinja verwenden? Entschuldigung, ich lerne noch ...

Ich experimentiere auch mit dem XML-Format. Aber wenn ich das ausführe

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)

In Postman zeigt sich dies als:

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

Antworten

2 UmairMubeen Oct 23 2020 at 19:27

Verwenden Sie .format, um die Zeichenfolge zu übergeben

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)