2011-01-22 5 views
2

양식은url 매개 변수를 양식 값에 전달하는 방법은 무엇입니까?

<input type="hidden" name="dir_type" value="tshirt"> 

URL 매개 변수 등등

/dir?type=tshirt 
/dir?type=books 
/dir?type=posters 

및입니다 숨겨진 필드가 있습니다.

이제 value="tshirts"을 하드 코딩했는데 관련 페이지의 매개 변수는 어떻게 얻습니까?

비슷한 주제를 다루는 여러 페이지가 있습니다. like this하지만 어떻게 처리되는지 이해하지 못했습니다.

도움 주셔서 감사합니다.

UPDATE

완벽한 장소 answer by systempuntoout 작동하지만 내가 템플릿을 사용하지 않고 문제를 해결하기로 결정했다. 그리고이 같은 형태로 URL 매개 변수를 전달 비슷한 질문을 가지고 사람을 위해 잘 작동합니다 :

<form name="submit_form" action="/directorysubmithandler" method="post" onSubmit="return validate_form()"> 
title: <input type="text" name="title" size=50><br /> 
url: <input type="text" name="url" size=50><br /> 
<input type="hidden" name="dir_type" value="%s")> 
<input type="submit" value="submit"> 
</form>""" % self.request.get("type"))      
+0

이 그것을 당신이 숨겨진 양식 필드의 값을 URL에 따라 달라을 설정할 수 있도록? 그렇다면 javascript를 사용하여 location.href를 구문 분석하고 양식 필드 값을 설정할 수 있습니다. 그러나 나는 그것이 숨겨진 필드에 대한 가치를 포함 할 것입니다 올바른 서버 사이드에 올바른 HTML을 생성하는 것이 좋습니다 생각합니다. – lstipakov

+0

@ Stipa : "그러나 숨겨진 필드의 값을 포함하는 올바른 html을 서버 쪽에서 생성하는 것이 더 좋습니다." 어떻게해야합니까? 감사! – Zeynel

+0

서버 측 플랫폼은 무엇입니까? 어떻게 당신 html 페이지 서버? – lstipakov

답변

2

을 수행합니다. 뷰에 type 값을 건네

class Directory(webapp.RequestHandler): 
    def get(self): 
     .... 
     merchandise_type = self.request.get("type", "") 
     items = Item.all() 
     items.filter("type =", merchandise_type) 
     path = os.path.join(os.path.dirname(__file__), 'dir_details.html') 
     self.response.out.write(template.render(path,{'type':merchandise_type})) 

을 B. 숨겨진 필드로 type 값을 추가 :

<input type="hidden" name="dir_type" value="{{ type }}"> 

C를. 게시물 처리기에서 dir_type 가치를 얻을 :

class DirectorySubmitHandler(webapp.RequestHandler): 
    def post(self): 
     user = users.get_current_user() 
     merchandise_type = self.request.get("dir_type", "") 
     dir_type = merchandise_type 
     if user: 
      item = Item() 
      item.title = self.request.get("title") 
      item.url = self.request.get("url") 
      item.type = self.request.get("dir_type") 
      item.user_who_liked_this_item = user 
      item.put() 
      self.redirect("/dir?type=%s" % 
self.request.get("dir_type")) 
     else: 
      self.redirect(users.create_login_url(self.request.uri)) 
+0

@systempuntoout : 템플릿을 사용하고 있지 않습니다. 형식 값에 "형식"을 추가하면 분명히/dir? type = type으로 리디렉션됩니다. 이것은 내가 이해하지 못하는 것입니다. 템플릿없이이 작업을 수행하는 방법은 무엇입니까? – Zeynel

+0

템플릿이 없으면 링크 된 질문처럼 자바 스크립트를 통해 템플릿을 사용해야합니다. – Spacedman

+0

@Spacedman : 어쩌면 내가 이것을 이해하지 못 하겠지만 URL 매개 변수를 얻는 데 아무런 문제가 없습니다 (javascript에서와 같이).DirectorySubmitHandler의 디렉토리 핸들러에 저장된 url 매개 변수를 사용하려고합니다. Python은 다른 클래스의 한 클래스에서 정의 된 변수를 사용하려고하면 전역 이름을 정의하지 않습니다. 감사. – Zeynel

관련 문제