Вернуть знак фунта (£) в Джанго - PullRequest
0 голосов
/ 09 сентября 2011

Если у меня есть следующее:

class PayBand(models.Model):
    name = models.CharField(max_length=2)
    lower_limit = models.IntegerField()
    upper_limit = models.IntegerField()
    def __str__(self):
        return "%s (%s - %s)" % (self.name, self.lower_limit, self.upper_limit)
    def __unicode__(self):
        return u'%s (%s - %s)' % (self.name, self.lower_limit, self.upper_limit)

Как мне вернуть '£'?

Я предполагал, что это будет:

    def __str__(self):
        return "%s (£%s - £%s)" % (self.name, self.lower_limit, self.upper_limit)

Но это не сработало (очевидно!), Поэтому я попытался:

    def __str__(self):
        return "%s (£%s - £%s)" % (self.name, self.lower_limit, self.upper_limit)

Но это не сработало, просто вывело £ ...

Оооочень ... мой вопрос: как мне вывести знак «£» и поле?

Ответы [ 2 ]

1 голос
/ 09 сентября 2011

Трудно ответить на этот вопрос хорошо, не видя, как эти разные методы не работали, и не зная, что вы подразумеваете под «выходными данными» - вы имеете в виду в шаблоне? Но вот несколько возможных причин, по которым это могло пойти не так.

  1. Когда вы пытались £, это сбежало? Если это так, вам может потребоваться запустить mark_safe в строке (при условии, что это безопасно!), Или использовать фильтр |safe в вашем шаблоне.
  2. Вы можете попытаться вернуть строку в юникоде с экранированной версией £ в ней - это u'\xa3'.
0 голосов
/ 09 сентября 2011

Вы пытались вернуть \ xc2 \ xa3?

>>> str("£")
'\xc2\xa3'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...