ich Sie es mit Vanille-Tags (aber ich würde gerne bewiesen, sonst) tun können nicht denken:
Wenn Sie einen Hintergrund haben in Programmierung, oder wenn Sie an Sprachen gewöhnt sind, die Programmcode direkt in HTML mischen, wollen Sie berücksichtigen, dass das Django-Vorlagensystem nicht einfach Python in HTML eingebettet ist. Dies ist von Entwurf: das Vorlagensystem ist zu Express-Präsentation, nicht Programmlogik gemeint.
Jedoch Sie benutzerdefinierte {% assign [name] [value] %}
-Tag verwenden:
from django import template
class AssignNode(template.Node):
def __init__(self, name, value):
self.name = name
self.value = value
def render(self, context):
context[self.name] = self.value.resolve(context, True)
return ''
def do_assign(parser, token):
"""
Assign an expression to a variable in the current context.
Syntax::
{% assign [name] [value] %}
Example::
{% assign list entry.get_related %}
"""
bits = token.contents.split()
if len(bits) != 3:
raise template.TemplateSyntaxError("'%s' tag takes two arguments" % bits[0])
value = parser.compile_filter(bits[2])
return AssignNode(bits[1], value)
register = template.Library()
register.tag('assign', do_assign)
(Taken Form here)
Here ist Djangos doc auf benutzerdefinierten Tags.
Es ist nicht nur das erste Element, es ist ein Zustand, der nach dem n-ten Elemente kann nicht wahr sein –