Ошибка при форматировании строк

5 views
Skip to first unread message

Vladimir Nazarov

unread,
Nov 25, 2009, 11:19:30 AM11/25/09
to Google App Engine Russian
В функции, которая принимает идентификатисиор записи и возвращает
форму с для изменения содержимого этой записи, выводится ошибка :
"Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\ext
\webapp\__init__.py", line 507, in __call__
handler.get(*groups)
File "***\***.py", line 125, in get
""" % (q.name, q.path, ch, index)
ValueError: unsupported format character '"' (0x22) at index 178"
менял все что можно, и ничего не изменилось

Alex Koshelev

unread,
Nov 25, 2009, 11:36:40 AM11/25/09
to google-ap...@googlegroups.com
Так строчку то покажите?
---
Alex Koshelev


2009/11/25 Vladimir Nazarov <nazar...@gmail.com>

Vladimir Nazarov

unread,
Nov 25, 2009, 12:26:16 PM11/25/09
to Google App Engine Russian
body = """<form method="GET" action="/adminpanel/pages/altering">
<table border="0" cellspacing="5" style="width: 470px">
<tr>
<td style="width: 42%">&nbsp;<span
lang="ru">Имя:&nbsp;<font size="2" color="#FF0000">*
</font><br /><em><span class="style2">&nbsp;&nbsp;
отображается в
ссылках</span></em></span></td>
<td width="35%"><input type="text" name="name"
size="27" value=" %s"></td>
</tr>
<tr>
<td style="width: 42%; height: 44px;"><span
lang="ru">&nbsp;Путь</span>:<span lang="ru">&nbsp;<font size="2"
color="#FF0000">*
</font></span><br />
&nbsp;&nbsp;
<em><span class="style2">относительно главной
старницы, без &quot;/&quot;</span></em></td>
<td width="35%" style="height: 44px"><input
type="text" name="path" size="27" value="%s"></td>
</tr>
<tr>
<td style="width: 42%">&nbsp;&nbsp;Доступ только для
админов:</td>
<td width="35%"><input name="access" type="checkbox"
value="true" %s /></td>
</tr>
<tr>
<td colspan="2">
<p class="style1"><input type="submit" value="OK"
name="submit"></td>
</tr>
</table>
<input type="hidden" name="id" value=" %s" />
</form>
""" % (unicode(q.name), unicode(q.path), ch, index)
на другой странице, точно такая же форма, за исключением поля hidden,
и там все работает

Pashka R.

unread,
Nov 25, 2009, 1:04:26 PM11/25/09
to google-ap...@googlegroups.com
Это конечно ужас, но ладно...

В тексте все % надо квотировать - %%

//wbr Pashka R. <pashka....@gmail.com>

2009/11/25 Vladimir Nazarov <nazar...@gmail.com>:
> 42%

Vladimir Nazarov

unread,
Nov 25, 2009, 1:17:04 PM11/25/09
to Google App Engine Russian
спасибо, но возникла другая проблема, не связанная с этим -
id = self.request.get('id')
id = db.Key(id)
ругается на этот код - Invalid string key 43==. Details: Incorrect
padding, хотя в id передается просто 43

Vladimir Nazarov

unread,
Nov 26, 2009, 8:57:48 AM11/26/09
to Google App Engine Russian
ошибка, из-за которой и возник топик, не исправилась, пробовал убрать
все знаки " в тексте, выдал такую же ошибку, но с символом >

Pashka R.

unread,
Nov 26, 2009, 9:36:02 AM11/26/09
to google-ap...@googlegroups.com
Тебе не кавычки квотировать надо, а знак процента.

//wbr Pashka R. <pashka....@gmail.com>

2009/11/26 Vladimir Nazarov <nazar...@gmail.com>:

Vladimir Nazarov

unread,
Nov 26, 2009, 9:53:21 AM11/26/09
to Google App Engine Russian
я знак процента и квотировал, но не работает

Pashka R.

unread,
Nov 26, 2009, 10:03:24 AM11/26/09
to google-ap...@googlegroups.com
А если вот так:

# * coding=utf-8 *
.................
body = u"""
.....................


""" % (q.name, q.path, ch, index)

Еще убедись, что файл в utf-8 кодировке и знаки % везде квотированы как %%

//wbr Pashka R. <pashka....@gmail.com>

2009/11/26 Vladimir Nazarov <nazar...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages