1. redbaron

    05.12.2008

    0 ↑
    0 ↓
    Если в я вконеткст передам в переменную string какой-либо текст("ABCD"), то в шаблоне почему-то не срабатывает {% for x in string %}, хотя в обычном питоновском коде работает. Пробовал в контексте передавать и iter(string), всё равно не хочет посимвольно проходить строку.
  2. YAD

    05.12.2008

    0 ↑
    0 ↓
    Если не ошибаюсь...
    String должна быть не строкой, а списком.
  3. YAD

    05.12.2008

    0 ↑
    0 ↓
    Преобразование можно сделать так:
    list = []
    for i in range(len(string)-1):
    list.append(string)
    и передать шаблону список, так по идее должно работать ;)
  4. YAD

    05.12.2008

    0 ↑
    0 ↓
    форум проглотил индекс после String
    # list.append(string[ i ])
  5. >>> from django.template import Template, Context
    >>> t = Template("{% for c in str %}{{c}}, {% endfor %}")
    >>> print t.render(Context({"str": u"АБВГД"}))
    А, Б, В, Г, Д,
    
  6. anonymous

    05.12.2008

    0 ↑
    0 ↓
    YAD, так строку в список преобразовывать не надо, а надо так:

    list('abc')
  7. YAD

    05.12.2008

    0 ↑
    0 ↓
    В вашем случае получится
    ["abc"]
    правильно?
    а в моём
    ["a","b","c"]

    так? или я ошибаюсь?
  8. YAD

    05.12.2008

    0 ↑
    0 ↓
    Осознал свою ошибку.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.