カスタムタグに文字連結して引数に渡す

480 views
Skip to first unread message

melodeen

unread,
Jan 5, 2010, 11:29:18 AM1/5/10
to django-ja
カスタムタグをsimple_tagで作成したのですが、引数に文字列と変数を結合して渡したいと思っています。
下記のような方法やってみたのですが、エラーが発生してしましました。

------------views.py------------------
def list(request):
return render_to_response('list.html',
{'list': [1,2,3,4,5]})
------------------------------------------

------------list.html-------------------
{% for no in list %}
{% echo "No."+no %}<br />
{% endfor %}
------------------------------------------

------------希望出力結果-----------
No.1<br />
No.2<br />
No.3<br />
No.4<br />
No.5<br />
------------------------------------------

-----------エラー内容----------------
Caught an exception while rendering: 'ascii' codec can't encode
characters in position 14-32: ordinal not in range(128)
------------------------------------------

Ian Lewis

unread,
Jan 5, 2010, 7:12:10 PM1/5/10
to djan...@googlegroups.com
Melodeen,

初めまして。イアンです。

djangoのテンプレート言語では文字列の連結することはできませんので、下のようにテンプレートを書いてみてください。

{% for no in list %}

No. {{ no }}<br/>
{% endfor %}

On Wednesday, January 6, 2010, melodeen wrote:
> カスタムタグをsimple_tagで作成したのですが、引数に文字列と変数を結合して渡したいと思っています。
> 下記のような方法やってみたのですが、エラーが発生してしましました。
>
> ------------views.py------------------
> def list(request):
> return render_to_response('list.html',
> {'list': [1,2,3,4,5]})
> ------------------------------------------
>
> ------------list.html-------------------
> {% for no in list %}
> {% echo "No."+no %}

> {% endfor %}
> ------------------------------------------
>
> ------------希望出力結果-----------
> No.1

> No.2
> No.3
> No.4
> No.5


> ------------------------------------------
>
> -----------エラー内容----------------
> Caught an exception while rendering: 'ascii' codec can't encode
> characters in position 14-32: ordinal not in range(128)
> ------------------------------------------
>

--
=======================================
株式会社ビープラウド イアン・ルイス
〒150-0012
東京都渋谷区広尾1-11-2アイオス広尾ビル604
email: ianm...@beproud.jp
TEL:03-5795-2707
FAX:03-5795-2708
http://www.beproud.jp/
=======================================

melodeen

unread,
Jan 5, 2010, 9:09:11 PM1/5/10
to django-ja
イアン様

おっとそうなんですか!

何かいけてない感じはしますが、スピードを重視した結果なのかな?

ありがとうございました。
作り方考えます。

> email: ianmle...@beproud.jp
> TEL:03-5795-2707
> FAX:03-5795-2708http://www.beproud.jp/
> =======================================- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

Ian Lewis

unread,
Jan 6, 2010, 5:09:50 AM1/6/10
to djan...@googlegroups.com
melodeen,

2010/1/6 melodeen <nu...@yan.ne.jp>:
> イアン様
>
> おっとそうなんですか!
>
> 何かいけてない感じはしますが、スピードを重視した結果なのかな?

スピードよりも、デザイナーさんが編集できるように、テンプレート言語をなるべくシンプルにしたわけだと思います。

--
=======================================
株式会社ビープラウド イアン・ルイス
〒150-0012
東京都渋谷区広尾1-11-2アイオス広尾ビル604

Reply all
Reply to author
Forward
0 new messages