我想修改此字符串:
query = """
mutation {
productUpdate(input: {id: "gid://shopify/Product/463...03", title: "test", descriptionHtml: "Amazing product"}) {
product {
id
}
userErrors {
field
message
}
}
}
"""
我正在尝试在“测试”和“惊人的产品”的位置放置一个变量。通常,我会使用f字符串执行此操作,但是由于GraphQL括号,我无法执行此操作。
有人知道如何解决此问题吗?
非常感谢!
答案 0 :(得分:1)
您可以将花括号加倍以将它们转义:
my_title = "The Title"
my_description = "The description"
query = f"""
mutation {{
productUpdate(input: {{id: "gid://shopify/Product/463...03", title: "{my_title}", descriptionHtml: "{my_description}"}}) {{
product {{
id
}}
userErrors {{
field
message
}}
}}
}}
"""
https://docs.python.org/3/reference/lexical_analysis.html#formatted-string-literals
答案 1 :(得分:0)
虽然字符串很好,但在进行graphql查询时,您可以使用以下格式。
query = """
mutation {
productUpdate(input: {id: "gid://shopify/Product/463...03", title: "%s", descriptionHtml: "%s"}) {
product {
id
}
userErrors {
field
message
}
}
}
""" % ('test', 'Amazing Product')
print(query)