แปลงจำนวนเต็มเป็นสตริง Jinja


122

ฉันมีจำนวนเต็ม

{% set curYear = 2013 %}

ใน {% if %}คำสั่งฉันต้องเปรียบเทียบกับสตริง ฉันไม่สามารถตั้งค่าcurYearเป็นสตริงที่จุดเริ่มต้นได้เพราะฉันต้องลดค่าเป็นลูป

ฉันจะแปลงได้อย่างไร?

คำตอบ:


225

ฉันพบคำตอบ

ส่งจำนวนเต็มเป็นสตริง:

myOldIntValue|string

ส่งสตริงเป็นจำนวนเต็ม:

myOldStrValue|int

คุณพบสิ่งนั้นในหน้าใด
Sergio

@Sergio heh ฉันจำไม่ได้ว่าเมื่อหลายปีก่อน :)
Glen Swift

3
ยืนยันว่าจะทำงานกับ nunjucks (ซึ่งขึ้นอยู่กับ jinja) ในการสร้าง HTML (อีเมล) นั่นคือวิธีการแปลงค่าสตริงตัวเลขเป็นจำนวนเต็ม Btw ในกรณีของฉันฉันมีจำนวนเต็มเป็นสตริงที่มาจากไฟล์เนื้อหา JSON: "hero_title_img_w": "111"และ"hero_title_img2_w": "222". จากนั้นฉันจะเพิ่มในไฟล์. NJK: {{ hero_title_img_w|int + hero_title_img2_w|int }}เพื่อใช้เป็นwidthแอตทริบิวต์ของรูปภาพ หวังว่าวันหนึ่งมันจะช่วยใครสักคน
เปิดเผย

1
สำหรับผู้ที่ต้องการเอกสารนี่คือตัวกรองในตัว: jinja.palletsprojects.com/en/2.11.x/templates/#builtin-filters
Elias Dorneles

0

OP จำเป็นต้องส่งเป็นสตริงนอกไฟล์{% set ... %}. แต่ถ้าไม่ใช่กรณีของคุณคุณสามารถทำได้:

{% set curYear = 2013 | string() %}

โปรดทราบว่าคุณต้องมีวงเล็บบนตัวกรอง jinja นั้น

หากคุณกำลังเชื่อม 2 ตัวแปรเข้าด้วยกันคุณยังสามารถใช้ตัว~ ดำเนินการที่กำหนดเองได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.