IT story

Django의 {% url %} 템플릿 태그를 통해 쿼리 매개 변수를 전달할 수 있습니까?

hot-time 2020. 8. 3. 17:37
반응형

Django의 {% url %} 템플릿 태그를 통해 쿼리 매개 변수를 전달할 수 있습니까?


와 같은 요청 매개 변수를 {% url %}태그 에 추가 하고 싶습니다 ?office=foobar.

이게 가능해? 나는 그것에 대해 아무것도 찾을 수 없습니다.


아니요. GET 매개 변수는 URL의 일부가 아니기 때문입니다.

끝에 추가하면됩니다.

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

장고 1.5 이상

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

전류 매개 변수를 새로운 매개 변수와 혼합하는 방법 :

{% url 'order_list' %}?office=foobar&{{ request.GET.urlencode }}

요청 변수를 갖도록 설정을 수정하십시오.

from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP

TEMPLATE_CONTEXT_PROCESSORS = TCP + (
    'django.core.context_processors.request',
)

urlencode인수가 변수 인 경우 사용

<a href="{% url 'myview' %}?office={{ some_var | urlencode }}">

그렇지 않으면 공백과 같은 특수 문자가 URL을 손상시킬 수 있습니다.

https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#url을url 사용하는 방법에 대한 설명서는 언급하지 않았습니다 url.


먼저 어리석은 대답 :

{% url my-view-name %}?office=foobar

심각한 답변 : 아니요, 할 수 없습니다. Django의 URL 확인자는 URL의 경로 부분 만 일치 하므로 {% url %}태그는 URL의 해당 부분 만 뒤집을 수 있습니다.


이 시도:

{% url 'myview' office=foobar %}

그것은 나를 위해 일했다. 기본적으로 해당 링크를 반대로하고 주어진 인수를 적용합니다.

참고 URL : https://stackoverflow.com/questions/4591525/is-it-possible-to-pass-query-parameters-via-djangos-url-template-tag

반응형