2012-03-26 6 views
7

Я пытаюсь получить некоторый HTML для работы с моим кодом на Python. У меня есть это для одного из моих кодов CSS.Python и HTML '% Operator'

#footerBar { 
height: 40px; 
background: red; 
position: fixed; 
bottom: 0; 
width: 100%; 
z-index: -1; 
} 

Однако, когда я пытаюсь получить доступ к странице, я получаю следующую ошибку.

File "projv2.py", line 151, in welcome 
</form>""" %(retrievedFullName, retrievedUserName,) 
ValueError: unsupported format character ';' (0x3b) at index 1118 

Я думаю, что баловаться с %, так как я использовать это в другом месте в HTML.

Любая помощь была бы принята с благодарностью.

+1

Как вы «обращаетесь» к этой странице? –

+0

Хорошо, вы проверили, что произойдет, если вы удалите '%' (заменив его на 'px' или что-то еще). Произошла ли ошибка? –

ответ

19

Если вы хотите использовать форматирующий оператор %, вам необходимо сбежать от ваших % символов.

Таким образом, ваш CSS следует читать:

#footerBar { 
height: 40px; 
background: red; 
position: fixed; 
bottom: 0; 
width: 100%%; 
z-index: -1; 
} 

вместо этого.

Предпочтительно использовать метод .format() в строке. См. PEP 3101 для обоснования.

Таким образом, вместо

...""" % (retrievedFullName, retrievedUserName,) 

сделать

...""".format(retrievedFullName, retrievedUserName) 

и изменить %s в твоей строки в {0} и {1}. Конечно, в этом случае вам тоже нужно сбежать от вашего {}.

+0

Что это значит? – user432584920684

+5

Ваш ответ технически правильный, который, как мы все знаем, является лучшим видом правильного. – cha0site

+0

Большое вам спасибо за помощь. – user432584920684