참조 : How do I construct a Django reverse/url using query args?내 컨텍스트 변수가 제대로 렌더링되지 않는 이유는 무엇입니까?
이 먼저 move
보기로 리디렉션됩니다 어떤 버튼을 클릭 한 후 somepage
보기로 이동 somepage.html
<a href={% query_urls from={{from}} to={{to}} %}> LOL LOSER</a>
입니다. 대신 http://localhost/web/move?from=./here.py&to=../mydir
같은 것을 얻기의
def move(request):
to = request.GET.get('to', 'None')
ffrom = request.GET.get('from', 'None')
#raise AssertionError(ffrom)
return render_to_response(request, "move.html", {'to': to, 'from': ffrom})
def somepage(request):
to = '../mydir'
ffrom = './heere.py'
return render_to_response(request, "somepage.html", {'to': to, 'from': ffrom})
내가 얻을이
http://localhost/web/move?from={{from}}&to={{to}}
그 컨텍스트 (somepage
뷰에 적용) 사용자 정의 태그가 소요 아마 때문에, 전혀 렌더링되지 않았다 바르 모든 매개 변수를 문자열로. 먼저 렌더링하려면 어떻게해야합니까?
감사합니다.
** 수정 ** 작은 질문 : 나는 템플릿
<a href={% query_url 'search' 12456 from=from to=to %}> MY LINK </a>
에 넣고 경우의 일반적인 방법은 무엇이
url(r"^search/<?P(cbid)\d+>/", 'views.search', name='search')
내가 Malformed arguments to query_urls tag
을 얻을 달성하고자하는 경우 내 맞춤 태그를 작성하여 이것을 허용 하시겠습니까?
현재,이 ... 내가 어떤 작품 ... 무슨 내가 어떤 패턴, 단지 cbid하지 맞게, 좀 더 일반적인 만들고 싶어
def render(self, context):
view_name = self.view_name.resolve(context)
kwargs = dict([(smart_str(k, 'ascii'), v.resolve(context))
for k, v in self.kwargs.items()])
cbid = kwargs['cbid']
kwargs = sorted(kwargs.items(), key=lambda x:x[0]) # sorted and generate a list of 2-tuple
# kwargs query set now contains no cbid
kwargs = [ value for index, value in enumerate(kwargs) if value[0] != 'cbid']
#raise AssertionError(urllib.urlencode(kwargs))
return (reverse(view_name, args=[(cbid),], current_app=context.current_app)
+ '?' + urllib.urlencode(kwargs))
입니다.
<a href={% query_url 'search' cbid=12456 from=from to=to %}> MY LINK </a>
바보 같은 방법으로 (그리고 아마도 유일한 방법은) 인수 그냥 일반 파이썬 함수로 인수 목록으로 그대로 촬영 템플릿
{% query_url 'view_func' args=[(cbid, some_text, more_text,)], from=foo to=bar %}
이 뭔가를 작성하는 것입니다 . 아마도 eval
을 리터럴 문자열 대신 목록에 넣을 수 있습니다.
: 3 자세하게 모두 밖으로 철자가 {에서 %에 =로 =에서 %의 query_urls} 방금 작성해야이'' –
@ GarthRees 감사합니다. 방금 해봤 어. 작동하지 않습니다. 그것은 내게 'from = from & to = to'을 제공합니다. – User007
아, 알겠습니다. 당신이 링크 한 질문의 'myurl' 템플릿 태그를 사용하고 있습니다. 그것은 다양한 평가를하지 않습니다. 나는 상세한 대답을 쓸 것이다. –