2016-09-10 2 views
0

저는 한 시간 이상 이걸보고 있었는데 도대체 무슨 일이 일어나는지 알 수 없습니다. 이 스크립트는 인쇄하는HTML 인쇄가 잘못되었습니다.

는 ">"

양식이 인쇄 "print_after"

import webapp2 

class MainHandler(webapp2.RequestHandler): 
def get(self): 
    p = Page() 

    if self.request.GET: 
     name = self.request.GET['name'] 
     age = self.request.GET['age'] 
     time = self.request.GET['time'] 
     model = self.request.GET['model'] 
     radio = self.request.GET['trade'] 
     self.response.write(p.print_after(name, age, time, model, radio)) 
     print name + age + time + model + radio 
    else: 
     self.response.write(p.print_one) 

class Page(object): 
def __init__(self): 
    self.page_body = ''' 
    <!DOCTYPE HTML> 
     <html> 
     <head> 
     <meta charset="utf-8"> 
     <link rel="stylesheet" type="text/css" href="css/main.css"> 
     <title>Audi Test Drive Request</title> 
     </head> 
     <body> 

<img src="assets/custom/images/logo.png" title="logo" alt="" width="200px" height="150px"/> 

<h3>It's awesome that you want to test-drive one of our vehicles</h3> 

<form method="GET" action=""> 

<label>Name</label> 
<br> 
<input type="text" name="name" required> 
<br> 
<label>Age</label> 
<br> 
<input type="text" name="age" required> 
<br> 
<label>Time</label> 
<br> 
<select name="time" required> 
    <option value="12:00 PM">12:00 PM</option> 
    <option value="12:30 PM">12:30 PM</option> 
    <option value="1:00 PM">1:00 PM</option> 
</select> 
<br> 
<label>Model</label> 
<br> 
<select name="model" required> 
    <option value="2008 Audi A4">2008 Audi A4</option> 
    <option value="2008 Audi S4">2008 Audi S4</option> 
    <option value="2008 Audi RS4">2008 Audi RS4</option> 
</select> 
<br> 
<label>Are you trading in a vehicle?</label> 
<br> 
<input type="radio" name="trade" value="yes" required>Yes<br> 
<input type="radio" name="trade" value="no" required>No<br> 
<br> 
<input type="submit" value="Request Test Drive"> 

     </form> 
</body> 
</html> 
''' 
    self.page_after = ''' 
    <!DOCTYPE HTML> 
     <html> 
     <head> 
     <meta charset="utf-8"> 
     <link rel="stylesheet" type="text/css" href="css/main.css"> 
     <title>Audi Test Drive Request</title> 
     </head> 
     <body> 

<img src="assets/custom/images/logo.png" title="logo" alt="" width="200px" height="150px"/> 

<h3>It's awesome that you want to test-drive one of our vehicles</h3> 
</body 
</html> 
''' 

def print_one(self): 
    page_content = self.page_body 
    page_content = page_content.format(**locals()) 
    return page_content 

def print_after(self, name, age, time, model, radio): 
    after_page_content = self.page_after 
    after_page_content = after_page_content.format(**locals()) 
    return after_page_content 

app = webapp2.WSGIApplication([ 
('/', MainHandler) 
], debug=True) 
+1

제발, 코드 – jsbueno

+0

'page_content.format (** locals())'에 대한 들여 쓰기를 수정하십시오. 오류가 발생하기 쉽고, 오류가 발생하기 쉽고 디버깅하기가 어렵습니다. 인수를 명시 적으로 나열하는 대신 30 초를 입력하면 나중에 디버깅 시간으로 변환됩니다. – spectras

+0

코드가 내 말미에 제대로 들여 쓰기되어 있습니다. 그냥 이상하게 붙여 넣었습니다. – Cam

답변

0

내가 코드를 테스트를 제출하고 재 배열 된 후에는, 다음 전체 HTML을 인쇄 할 생각이야 조금. 나는 양식을 제출하기 위해 http post를 사용한 다음 양식 변수를 인쇄합니다.

import webapp2 

class HelloWebapp2(webapp2.RequestHandler): 
    def get(self): 
     self.response.write('''<!DOCTYPE HTML> 
     <html> 
     <head> 
     <meta charset="utf-8"> 
     <link rel="stylesheet" type="text/css" href="css/main.css"> 
     <title>Audi Test Drive Request</title> 
     </head> 
     <body> 

<img src="assets/custom/images/logo.png" title="logo" alt="" width="200px" height="150px"/> 

<h3>It's awesome that you want to test-drive one of our vehicles</h3> 

<form method="POST" action=""> 

<label>Name</label> 
<br> 
<input type="text" name="name" required> 
<br> 
<label>Age</label> 
<br> 
<input type="text" name="age" required> 
<br> 
<label>Time</label> 
<br> 
<select name="time" required> 
    <option value="12:00 PM">12:00 PM</option> 
    <option value="12:30 PM">12:30 PM</option> 
    <option value="1:00 PM">1:00 PM</option> 
</select> 
<br> 
<label>Model</label> 
<br> 
<select name="model" required> 
    <option value="2008 Audi A4">2008 Audi A4</option> 
    <option value="2008 Audi S4">2008 Audi S4</option> 
    <option value="2008 Audi RS4">2008 Audi RS4</option> 
</select> 
<br> 
<label>Are you trading in a vehicle?</label> 
<br> 
<input type="radio" name="trade" value="yes" required>Yes<br> 
<input type="radio" name="trade" value="no" required>No<br> 
<br> 
<input type="submit" value="Request Test Drive"> 

     </form> 
</body> 
</html> 
''') 
    def post(self): 
     if self.request.POST: 
      name = self.request.POST['name'] 
      age = self.request.POST['age'] 
      time = self.request.POST['time'] 
      model = self.request.POST['model'] 
      radio = self.request.POST['trade'] 
      self.response.write(name +" " + age +" " + time +" " + model +" " + radio) 

app = webapp2.WSGIApplication([ 
    ('/', HelloWebapp2), 
], debug=True) 

def main(): 
    from paste import httpserver 
    httpserver.serve(app, host='127.0.0.1', port='8080') 

if __name__ == '__main__': 
    main() 

위 코드는 포트 8080에서 로컬 웹 서버를 시작합니다. 원하는대로 정확하게 수행 할 수는 없지만 많이 있습니다. appengine에서도 실행할 수 있습니다.