2017-10-09 5 views
0

「Google App Engine with Python」の第2章に従っています。コードを本のようにコピーしましたが、空白になります私は今、それを開こうと、それは私に次のエラー与えているときにページは:GAE、Python - モジュール 'main'には属性アプリケーションがありません

ImportError: <module 'main' from '...../clock/main.pyc'> has no attribute application 

を私はそれがmain.py.を使用する必要があり、それが最後にmain.pycが言うに気づきましたこれは自動的に生成されるファイルですか?

app.yamlを

application: clock 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: yes 

handlers: 
- url: .* 
    script: main.application 

libraries: 
- name: webapp2 
    version: "2.5.2" 
- name: jinja2 
    version: "2.9.6" 
- name: markupsafe 
    version: "0.15" 

main.py

import datetime 
import jinja2 
import os 
import webapp2 

from google.appengine.api import users 

template_env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.getcwd())) 

class MainPage(webapp2.RequestHandler): 
    def get(self): 
    current_time = datetime.datetime.now() 
    user = users.get_current_user() 
    login_url = users.create_login_url(self.request.path) 
    logout_url = users.create_logout_url(self.request.path) 

    template = template_env.get_template('home.html') 
    context = { 
     'current_time': current_time, 
     'user': user, 
     'login_url': login_url, 
     'logout_url': logout_url, 
    } 
    self.response.out.write(template.render(context)) 

    application = webapp2.WSGIApplication([('/', MainPage)], debug=True) 

は、任意の助けに感謝。

答えて

1

application = webapp2.WSGIApplication([('/', MainPage)], debug=True)

がインデントされてはなりません。コード化されているので、クラスMainPagegetメソッドの一部ですが、モジュールレベルの変数でなければならないので、全くインデントされません。

+0

これは問題を解決しました。 – jb2002

関連する問題