问题
Within a view, I am maintaining a dictionary containing some data I would like to display in an <a> in a template with the Django url built-in. 
my_view.py
links = [
  {
    'name': 'link 1',
    'pattern': 'fe:upload'
  },
  {
    'name': 'link 2',
    'pattern': 'fe:download'
  }
]
It will work hardcoded like this:
<a href="{% url 'fe:upload' id %}">up</a>
<a href="{% url 'fe:download' id %}">down</a>
However I'm struggling to put it into a loop
my_template.html
<ul>
  {% for link in links %}
    <li>
      <a href='{% url link.pattern id %}'>{{link.name}}</a>
    </li>
  {% endfor %}
</ul>
I have tried:
- escaping the quotations with 
\and HTML entities - putting the href into a temp variable, eg: 
{% with href=url 'link.pattern' %}and get the error: 
u'with' received an invalid token: u"'link.pattern'"
how can I put a dynamic pattern into this loop to generate an anchor?
回答1:
Have you tried the following:
{% with link.pattern as link_pattern %}
    <li>
      <a href='{% url link_pattern id %}'>{{link.name}}</a>
    </li>
{% endwith %}
    来源:https://stackoverflow.com/questions/54187320/pass-dynamic-value-to-django-url-built-in