как добавить параметры url в тег url шаблона django



на мой взгляд, чтобы получить параметры url, как это:



date=request.GET.get('date','')


в моем url я пытаюсь передать параметры таким образом с тегом шаблона url следующим образом:



<td><a href="{% url 'health:medication-record?date=01/01/2001' action='add' pk=entry.id %}" >Add To Log</a></td>


параметр после ? очевидно не работает, как я могу передать это значение, чтобы получить в С вам?

1292   4  

4 ответов:

сначала вам нужно подготовить свой url, чтобы принять параметр в регулярном выражении: (urls.py)

url(r'^panel/person/(?P<person_id>[0-9]+)$', 'apps.panel.views.person_form', name='panel_person_form'),

таким образом, вы используете это в своем шаблоне:

{% url 'panel_person_form' person_id=item.id %}

Если у вас есть несколько параметров, вы можете изменить свое регулярное выражение и изменить шаблон, используя следующее:

{% url 'panel_person_form' person_id=item.id group_id=3 %}

Я нашел ответ здесь: можно ли передать параметры запроса через тег шаблона {% url %} Django?

просто добавьте их в конец:

<a href="{% url myview %}?office=foobar">
For Django 1.5+

<a href="{% url 'myview' %}?office=foobar">

[нет ничего другого, чтобы улучшить, но я получаю глупую ошибку, когда я исправляю тики кода]

просто добавьте шаблоны URL:

<a href="{% url 'service_data' d.id %}">
 ...XYZ
</a>

используется в django 2.0

Я не уверен, что я вне темы, но я нашел решение для меня; У вас есть представление на основе класса, и вы хотите иметь параметр get в качестве тега шаблона:

class MyView(DetailView):
    model = MyModel

    def get_context_data(self, **kwargs):
        ctx = super().get_context_data(**kwargs)
        ctx['tag_name'] = self.request.GET.get('get_parameter_name', None)
        return ctx

затем вы делаете запрос get /mysite/urlname?get_parameter_name='stuff.

в шаблоне, когда вы вставляете {{ tag_name }}, у вас будет доступ к значению параметра get ('stuff'). Если у вас есть url-адрес в шаблоне, который также нуждается в этом параметре, вы можете сделать

 {% url 'my_url' %}?get_parameter_name={{ tag_name }}"

вам не придется изменять свой url конфигурация

Comments

    Ничего не найдено.