gpt4 book ai didi

python - 在我的自定义表情符号键盘(Django 网络应用程序)中显示随机的表情符号子集

转载 作者:太空宇宙 更新时间:2023-11-04 03:18:24 25 4
gpt4 key购买 nike

我有一个包含 52 个表情符号的列表,但我只希望10 个随机出现在表情符号备忘单/键盘中。

这是我正在做的:

Django View 正在向我的模板传递 1 到 52 之间的 10 个随机数的列表,如下所示:context["random"] = random.sample(xrange(1,52),10)

另外,还有一个包含 52 个表情符号的列表被传递,包含在上下文变量 context["emojis"] 中。这个列表看起来像这样:

( [':)', ':-)', ':=)'], [':(', ':-(', ':=('], [';)' , ';-)', ';=)', '(wink)'], [';(', ';-(', ';=(', '(cry)'], [':*' , ':-*', ':=*', '(kiss)'], [':|', ':-|', ':=|', '(无语)'], [':-? ', ':?', ':=?', '(think)'], ['|(', '|-(', '|=(', '(dull)'], ['|-) ', 'I-)', 'I=)', '(snooze)'], ['])', ']=)', '(grin)'], [':$', ':-$ ', ':=$', '(blush)'], [':D', ':-D', ':=D', ':d', ':-d', ':=d', '(笑)'], [':O', ':-O', ':=O', ':o', ':-o', ':=o', '(惊讶)'], [ '8)', '8-)', '8=)', 'B)', 'B-)', 'B=)', '(cool)'], ['8-|', 'B -|', '8|', 'B|', '8=|', 'B=|', '(nerd)'])

这些不全是 52 个表情符号,但您明白了。如果我在模板中打印 {{ emojis.5 }},我会看到 [':*', ':-*', ':=*', '(kiss) ']。这个结果本身就是一个列表,因为亲吻表情符号可以通过所有这些符号来制作。

总而言之,在这 52 个子列表中,我希望 10 个随机出现在我的模板中。此外,我只想在每个随机选择的子列表中打印第一项

这是我实际尝试的:

{% for index in random %}
{{ emojis.index.0 }}
{% endfor %}

什么都没有显示。在我的脑海里,我认为这会通过 emojis.index 给我 10 个随机子列表,而 .0 会确保它只返回第一个项目。

最佳答案

This这就是为什么那行不通的原因。 TLDR:动态索引在 Django 中不起作用。您可以执行 {{ foo.5 }},但不能执行 {{ foo.{{bar}} }}

然而,有效的是在传递之前在您的上下文中构建您的随机列表(假设 emojis 是一个包含您所有表情符号的变量):

random_indexes = random.sample(xrange(1,52),10)
context["random_emojis"] = [emojis[ind] for ind in random_indexes]

然后在你的模板中:

{% for emoji in random_emojis %}
{{ 表情符号.0 }}
{% endfor %}

关于python - 在我的自定义表情符号键盘(Django 网络应用程序)中显示随机的表情符号子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35487328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com