2017-02-02 17 views
1

私はこのアドレスで私のpythonファイルを実行しようとしています:http://usersignup.drawyourpets.com/。ご覧のとおり、フォルダ内のファイルを表示していますが、実際には実行していません(EDIT:現在は500エラーが返されています)。私はローカルではGoogle App Engineを使用したファイルを実行すると、それは次のようになります。Macでサーバ上でPythonを実行

enter image description here

これは正しいです。そして、これが私のファイルは、FTP(Filezillaの)中でどのように見えるかです:

enter image description here

だから私は、彼らが正しいフォルダにいる知っています。

これはいつもHTMLファイルで機能していますが、Pythonをブラウザで実行するには何が必要ですか? main.pyファイルに追加する必要のあるコード行がありますか? AddHandler cgi-script .cgi .py(それも私が何をする必要があるかの場合):私はこの記事に気づい:

Python on Mac Web Server

をしかし、このコード行を追加する場所それは実際に指定されていません。

また、私はHostGatorでホストしています.HostGatorはPythonをサポートしているため、問題ではありません。

ありがとうございました!

EDIT:ここで私が実行しようとしているのpythonファイルだ、main.py:どうやら

#!/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) 
+0

私は、PythonがFTP経由でファイルをアップロードするだけではないことを恐れています。 – yedpodtrzitko

+0

これは、これが私が探しているかもしれないようです:http://support.hostgator.com/articles/specialized-help/technical/perl-and-python-scripts。それは私が言っているhtaccessファイルに行を追加する必要がありますか?htaccessファイルとは何ですか/作成するにはどうすればいいですか?htaccessファイルは表示されません。 – Sean

答えて

0

は、Hostgatorのに応じて、あなたはあなたの一番上にこれらのコード行を追加する必要があります。 htaccessのファイル:

Addhandler cgi-script .py .pl .cgi 
DirectoryIndex main.py 

しかしHostgatorのは、このファイル全体で数回使用されwebapp2をし、サポートしていないため、それは、Hostgatorのウェブサイト上で実行するには、このPythonのファイルを取得するのに十分ではありません。今、私はwebapp2の代わりに何が使えるのかを調べようとしています(See New Question)

関連する問題