В отличие от Jinja2, язык шаблонов Django не поддерживает установку переменной внутри шаблона. Для вашей цели вы можете просто перебрать topic.entry_set.all
напрямую:
{% for entry in topic.entry_set.all %}
<p>{{ entry }}</p>
{% endfor %}
Я просто использую несколько строк, чтобы сделать это таким образом:
// Work out average as: sum (values)
// --------------
// count (values)
//
// and distance between points as:
// _______________________
// / 2 2
// d = \/ (x1 - x0) + (y1 - y0)
//
// and the following function:
//
// 3 2
// f(x) = ax + bx + cx + d
Никакой магии для этого не требуется. Разве вы не просто любите искусство ASCII?
Знаете, это было бы отличным приложением для расширяемости Visual Studio, которое ScottGu продемонстрировал на последнем PDC (где он написал плагин MEF для отображения комментариев в другом стиле).
Вы могли бы написать свои математические комментарии, используя MathML , а затем подключить плагин, который анализирует разметку и отображает ее как правильное уравнение.
Это больше похоже на сложность. Хороший комментарий, чем реальный ответ на ваш вопрос, но я решил опубликовать его, чтобы заставить людей задуматься. Может быть, кто-то сделает это однажды! :)
Following up on @pax's answer to use ascii-art/plain text to render your equations (+1 by the way, pax):
Here's a quick list of shortcut keys for math-related characters:
° (degree) - Alt+0176
± (plus/minus) - Alt+0177
² (squared) - Alt+0178
³ (cubed) - Alt+0179
¼ (1/4) - Alt+0188
½ (1/2) - Alt+0189
¾ (3/4) - Alt+0190
Для простых комментариев я обычно прибегаю к LaTeX или Word синтаксис. Но обычно Word, поскольку, например, β более читабельно, чем \ beta
. Так как мои исходные файлы обычно Unicode, это не представляет проблемы. Также я не люблю слишком много скобок вокруг всего:
Я использую латекс: если он прост, его все равно можно увидеть, а если сложнее - вырезать и вставить его в ближайшем окне WordPress, в большинстве случаев они анализируются правильно.
Имейте в виду, какая у вас аудитория. Комментарий должен быть значимым для вас через несколько месяцев и для ваших (настоящих и будущих) партнеров по команде прямо сейчас. Поэтому, если математическая запись совершенно понятна для всех вас, это может быть хорошо; тем не менее, поскольку я не могу знать, кто будет читать этот комментарий, я бы добавил текстовое представление или описание.
Для меня самый простой способ понять сложную математическую задачу - это ввести некоторые действительные числа и выполнить их до конца. Чтение о том, как это работает, недостаточно, если я просто не напоминаю себе, что это делает.
Использование тестов Nunit было бы идеальным для предоставления практических примеров использования сложной математической задачи. Возможно, просто используйте комментарии, чтобы указать, что есть модульные тесты, через которые они могут пройти, и где их найти.
Это должен был быть комментарий к сообщению Мэтта, но моя репутация слишком низка. Я сделал что-то подобное для LaTex. Это компонент сборки Sandcastle, который анализирует LaTeX, встроенный в комментарии XML, и создает изображения, которые снова добавляются в документацию. Это простая оболочка для mimeTeX. Вы можете увидеть альфа-код по адресу: http://github.com/cuda/latex-sandcastle/
Для того, чтобы сделать рендеринг математических фомул в ASCII-искусстве немного проще, существует asciiTeX . asciiTeX принимает уравнения в стиле LaTeX и распечатывает их в ASCII-искусстве.