2017-02-03 7 views
0

내가 만든 하위 도메인에서 파이썬 파일을 실행하려고합니다. HostGator에 따르면, 파이썬 파일은 내가 파일 전체에서 사용되는 webapp2 프레임 워크를 지원하지만되지 않습니다호스팅 회사는 WebApp2를 지원하지 않습니다 - 그 자리에서 무엇을 사용할 수 있습니까?

#!/usr/bin/env python 
# 
# Copyright 2007 Google Inc. 
# 
# Licensed under the Apache License, Version 2.0 (the "License"); 
# you may not use this file except in compliance with the License. 
# You may obtain a copy of the License at 
# 
# http://www.apache.org/licenses/LICENSE-2.0 
# 
# Unless required by applicable law or agreed to in writing, software 
# distributed under the License is distributed on an "AS IS" BASIS, 
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
# implied. 

# See the License for the specific language governing permissions and 
# limitations under the License. 
# 

import webapp2 
import cgi 

def Build_Page(textarea_content): 

form = """ 
<table> 
    <tr> 
    <td> 
    <label>{0}</label> 
    </td> 
    <td> 
    <label>Username: <input type="text" name="username"/></label> 
    </td> 
    </tr> 

    <tr> 
    <td> 
    <label>{1}</label> 
    </td> 
    <td> 
    <label>Password: <input type="text" name="password"/></label> 
    </td></tr> 

    <tr> 
    <td> 
    <label>{2}</label> 
    </td> 
    <td> 
    <label>Verify Password: <input type="text" name="verify_password"/> 
    </label> 
    </td> 
    </tr> 

    <tr> 
    <td> 
    <label>{3}</label> 
    </td> 
    <td> 
    <label>Email (optional): <input type="text" name="email"/></label> 
    </td> 
    </tr> 

</table> 
""" 
submit = "<input type = 'submit'/>" 
form2 = ("<form method='post'>" + form + submit + " 
</form>").format("Please enter a username", 
"Please enter a password", "Passwords must match","Please enter a valid 
email") 

header = "<h1>User Signup</h1>" 

return header + form2 

class MainHandler(webapp2.RequestHandler): 
    def get(self): 
     content = Build_Page("") 
     self.response.write(content) 

    def post(self): 
    # look inside the request to figure out what the user typed 
     username = self.request.get("username") 
     password = self.request.get("password") 
     verify_password = self.request.get("verify_password") 
     email = self.request.get("email") 
    # if the user typed nothing at all, redirect 
     if (not username) or (username.strip() == ""): 
      error = "Please enter a username." 
      self.response.write(error) 
      self.redirect("/?error=" + cgi.escape(error, quote=True)) 

     if (not password) or (username.strip() == ""): 
      error = "Please enter a username." 
      self.response.write(error) 
      self.redirect("/?error=" + cgi.escape(error, quote=True)) 

     """if (not username) or (username.strip() == ""): 
      error = "Please enter a username." 
      self.response.write(error) 
      self.redirect("/?error=" + cgi.escape(error, quote=True)) 

     if (not username) or (username.strip() == ""): 
      error = "Please enter a username." 
      self.response.write(error) 
      self.redirect("/?error=" + cgi.escape(error, 
      quote=True))""" 

    #self.write.form2  
    #message = self.request.get("message") # hello</textarea>hello 
    #rotation = int(self.request.get("rotation")) # 0 
    #encrypted_message = caesar.encrypt(message, rotation) 
    #hello</textarea>hello 
    #escaped_message = cgi.escape(encrypted_message) 
    # hello&lt;/textarea&gt;hello 
    #content = build_page(escaped_message) 
    #self.response.write(content) 

    #original_form = form.format("","","","","","") 
    #page footer 

    #class TestHandler(webapp2.RequestHandler): 
    # """ Handles requests coming in to '/add' 
    #  e.g. www.user-signup.com/add 
    # """ 
    # def get(self): 

app = webapp2.WSGIApplication([ 
    ('/', MainHandler), 
    #('/', TestHandler) 
], debug=True) 

지금까지 내가 이해, 웹 애플리케이션/webapp2 그들 작품의 내부 핸들러 + 기능을 만드는 것입니다 . 예를 들어, "Username"레이블에 사용자 이름을 입력하는 것은 webapp2를 통해 가능합니다.

HostGator는 webapp2를 지원하지 않으므로 그 대신에 내가 무엇을 사용할 수 있습니까?

http://webpy.org/install

https://pypi.python.org/pypi

하지만 이러한 패키지 중 하나를 설치하고 내 하위 도메인에 대한 디렉토리에 그 폴더를 복사 한 후, 어떻게 할 : HostGator에에있는 기술 지원 사람은 내가 PIP 또는 어쩌면 PyPI 사용 제안 파일 맨 위에서 사용할 명령을 알아야합니다. 나는 단지 등

import pip 

class MainHandler(pip.RequestHandler):,

class TestHandler(pip.RequestHandler):을 말합니까? 여기

내가 호스트하기 위해 노력하고있어 어디 :

usersignup.thehamburgercollection.com

Link to previous question

UPDATE : 나는 appspot.com에이 응용 프로그램 (구글 클라우드)를 호스팅 할 수 없습니다. 방금 올바른 디렉토리에 파일을 업로드하는 방법을 알 수 없었습니다. 지침이 명확하지 않았거나 YouTube 튜토리얼이 오래되었습니다. 방법을 찾아내는 경우 해결책을 게시 할 것입니다.

+3

'pip'는 Python 라이브러리를 설치하기위한 명령 행 도구입니다. 그것은 당신이 당신의 응용 프로그램의 일부가 될 것이 아닙니다. – duskwuff

+0

webapp2가 필요합니까? Google App Engine을 살펴보십시오. 어쩌면 Heroku –

+0

@duskwuff 그럼 WebPy를 다운로드/설치하는 경우 WebPy 폴더를 내 하위 도메인 폴더에 넣은 다음 파일에서 사용할 "명령"을 찾아야합니다. 일명 내가 쓸 수있는 것 파일에서 사용되는 'webapp2'를 찾습니다. – Sean

답변

0

귀하의 질문은 정말 혼란 스럽지만, PIP는 단지 패키지 관리자입니다. PIP는 NodeJs에 NPM이 무엇인지 파이썬으로 알려주는 것입니다. Google Cloud에 앱을 배포하는 것은 간단합니다. 먼저 Google Cloud SDk을 설치하고 응용 프로그램의 루트 디렉토리로 이동하여 명령을 실행하십시오.

gcloud deploy