2009-04-18 7 views

답변

3

언제나 꾸미기를 쓸 수 있습니다. 예 : (테스트되지 않은) 같은 :

def map_params(func): 
    def decorated(request): 
     return func(request, **request.GET) 
    return decorated 

@map_params 
def some_view(request, param1, param2): 
    ... 
+0

니스. 그게 효과가있을 것 같아. 매우 불쾌 해. :) +1 –

1

나는 그것이보기 기능 인수로 전달하는 것도 가능합니다 모르겠지만, 왜 당신은 GET 변수는 request.GET에서 액세스 할 수 없습니다? 이 URL을 감안할 때 Django는 request.GET['param1']이 10이고 request.GET['param2']이 20이 될 것입니다. 그렇지 않으면 원하는 것을 시도하기 위해 이상한 정규 표현식을 찾아야합니다.

1

나는 파올로에 동의한다. GET 매개 변수이며 아마도 이와 같이 처리되어야합니다.

from django.http import Http404 
def some_view_proxy(request): 
    if 'param1' in request.GET and 'param2' in request.GET: 
     return some_view(request, request.GET['param1'], 
          request.GET['param2']) 
    raise Http404 

아니면 그냥이 같은 some_view()를 정의하고 사용할 수 : 그것은 당신이 정말 당신이 질문에서 언급 한 바와 같이 some_view()의 정의를 유지하려는 경우, 당신이 뭔가를 할 수있다 고 말했다 매개 변수를 얻으십시오. 그냥 궁금해서 왜 그걸 원해?

+0

나는이 원인을 필요 - 사용에 적은 코드, 난 어쩌면이 –

1

Django와 싸우는 대신 some_view/10/20을 요청한 다음 urls.py를 설정하여 인수를 추출하는 것이 어떻습니까?

+0

하나의 장식을 할 수 있습니다 : URL을 사용하여 - 모든 것이 잘 작동합니다. –

+0

나는 싸우고 있지 않다, 그것은 내 json 서비스, jquery 사용 매개 변수, 많은 다른 많은 필요하지 않습니다. 그게 왜 더 쉬울 지. –