2014-11-30 9 views
0

http://www.example.com/soe/?param1=val1액세스 URL 매개 변수

이 현재의 URL를 내가 장고 템플릿에 {} {PARAM1} 변수에 액세스 할 수 있습니다. (장고 1.7)

나는 단순히 ContextProcessors를 사용하려면 return render(request, template, {})를 사용 해달라고 해요

이이 문제에 대한 가능한 많은 스레드가 이미 있지만 그들 모두가 ContextProcessor. (또는에는 render_to_response)를 사용하는 것을 알고있다. 이 문제를 해결하기

한 가지 방법은 내가 렌더링 할 때, 나는

return render(request, template, {'param1': request.GET.get('param1')})

의미하지만 템플릿 자체에서이 변수에 액세스 할 수 있으면 난 그냥 궁금 해서요 PARAM1의 값을 전달입니까? 10 개의 매개 변수가있을 수 있기 때문입니다.

+1

정확하게 컨텍스트 프로세서에 맞습니까? 이것들은이 문제에 대한 완벽한 해결책입니다. –

답변

0

django 템플릿에서 맞춤 태그를 사용해 볼 수 있습니다.

+0

좀 자세히 설명해 주시겠습니까? 템플릿 태그를 만드는 것은 다시 템플릿 자체에 들어갈 수 있다면 피하고 싶습니다. – xyz

+1

이 도움이되는지 확인 {{request.GET.param1}} –

+0

어이! 내가 시도한 첫 번째 일은 이것이었다. {{request.user}}를 사용하지 않고 {{user}}에 액세스 할 수 있기 때문에 {{GET.param1}}도 있습니다. 작동하지 않음 – xyz

0

다음 실제로 작동합니다 ...

{{ request.GET.param1 }} 

...만큼 당신이 설정 파일에 사용할 기본 django.template.context_processors.request을 가지고있다.

DJANGO_CONTEXT_PROCESSORS = (
    # ...any other context processors you want to run 
    'django.core.context_processors.request', 
) 

이 모든 것은 요청 템플릿을 템플릿 컨텍스트에 배치하여 URL 매개 변수에 액세스하는 데 사용됩니다. 그것은 정확히 당신이 찾고있는 기능입니다. here을 참조하십시오.

유일한 다른 옵션은 질문에 설명 된대로 매개 변수를 템플릿에 명시 적으로 전달하는 것입니다.