Jinja: ๋ฌธ์ž์—ด ๋ชฉ๋ก์— "ํ˜•์‹"์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2016๋…„ 02์›” 16์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pallets/jinja

๋‚˜๋Š” Python์—์„œ์™€ ๊ฐ™์€ ๊ฒƒ์„ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

("db.%s.dump" % n for n in names)

๋‚˜๋Š” ์‹œ๋„ํ–ˆ๋‹ค

{{ databases | map("format", "db.%s.dump") }}
{{ "db.%s.dump" | map("format", databases) }}

๊ทธ๋ฆฌ๊ณ  ํ›จ์”ฌ ๋”. ๋‚ด๊ฐ€ ์‹œ๋„ํ•œ ๋ชจ๋“  ๊ฒƒ์ด ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œ๋Š” ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค :-(

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@NormanDenayer map()์˜ ๋‹ค๋ฅธ ํ•„ํ„ฐ์— ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  4 ๋Œ“๊ธ€

์™œ {% for n in names %} {{ "db.%s.dump"|format(n) }} {% endfor %} ์•„๋‹Œ๊ฐ€์š”?

@NormanDenayer map()์˜ ๋‹ค๋ฅธ ํ•„ํ„ฐ์— ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

๊ฐœ์ธ์ ์œผ๋กœ ๋‚˜๋Š” ์ž์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋๋ƒˆ์Šต๋‹ˆ๋‹ค.

from jinja2.utils import soft_unicode

def format_string(text, fmt, *kw):
    return soft_unicode(fmt).format(text, *kw)

class FilterModule(object):
    def filters(self):
        return dict(format_string=format_string)

์šฉ๋ฒ•:

list_of_names | map('format_string', 'hello {}!')

๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ๊ฑฐ๋ถ€ํ•˜๋Š” ์ด์œ ๋Š” https://github.com/pallets/jinja/pull/906#issuecomment -548393215๋ฅผ ์ฐธ์กฐ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰