Как мне заставить django показывать пустые ячейки с помощью системы шаблонов? - PullRequest
1 голос
/ 10 февраля 2009

Я пишу таблицу, используя только систему шаблонов в Django, и она не показывает границы вокруг пустых ячеек таблицы.

Нет проблем, я думал - я решил эту проблему раньше. Я поместил все клетки, которые должны были остаться пустыми. Django любезно преобразовал амперсанд в & amp; чтобы я имел & ampnbsp в пустых ячейках, он показывает & nbsp при просмотре в браузере.

Я гуглил его и попытался поместить {% autoescape off%} и {% endautoescape%} вокруг рассматриваемого стола, но это тоже не принесло пользы.

Я также пытался добавить autoescape = False в конструктор контекста, но это тоже не помогло.

Какой магический трюк, чтобы Джанго показывал границу вокруг пустых ячеек?

Ответы [ 4 ]

2 голосов
/ 10 февраля 2009

Это известная проблема CSS / HTML. Вы хотите использовать фильтр Django « default ».

{{value|default:" "}}

(Будь я проклят, если смогу сделать так, чтобы это получилось правильно. В SO, как вы пишете «nbsp;» без символа «впереди», заставляющего все исчезать и заменяться пустым?)

1 голос
/ 10 февраля 2009

Django никоим образом не контролирует внешний вид вашего стола. Работа с autoescape также излишня и может оказаться опасной.

Используете ли вы CSS для оформления таблицы? Используя свойство, например,

td {
  border: 1px solid red;
}

Вы можете сделать каждую ячейку с красной рамкой. Неважно, пусто это или нет.

1 голос
/ 10 февраля 2009

Есть свойство CSS пустых ячеек.

http://www.w3.org/TR/CSS21/tables.html#empty-cells

Не помню, работает ли он во всех браузерах или нет

0 голосов
/ 10 февраля 2009

Что вам действительно нужно сделать, так это получить неразрывный пробел в этих пустых ячейках и предотвратить выход Django из сущности HTML. Не могли бы вы объединить несколько фильтров в цепочку, чтобы добиться того, что вы ищете?

{{ value|default:" "|safe }}

Редактировать : Я должен отметить, что   - это то же самое, что и  , просто не искажается парсером SO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...