나는 Google App Engine과 webapp2 웹 프레임에서 파이썬으로 웹 개발의 기초를 가르치기 시작했습니다.Google App Engine에서 여러 URL 스크립트 처리하기
기본적으로 다른 프로젝트에 대한 모든 링크를 게시하는 홈페이지를 만들고 싶습니다. 각 링크는 새 URL으로 보내지며 관련 py 파일이 실행됩니다.
지금은 Hello World 페이지로 연결되는 하나의 링크 만 있으면됩니다. 그게 다야. 그리고 나의 삶에 대해 나는이 이벤트를 위해 핸들러를 작성하는 방법을 이해할 수 없다. (심지어 집게를 필요로 하는가?). 누군가 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?
내 파일 구조는 다음과 같습니다
+Main Directory (Folder)
- app.yaml
- index.py
+helloworld (Folder)
__init__.py
helloworld.py
애플리케이션 제목 파일 :
application: untitam
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url:/
script: index.app
- url: /helloworld.*
script: helloworld.app
- url: /.*
script: index.app
libraries:
- name: webapp2
version: latest
index.py :
import webapp2
menu=""" <nav>
<ul>
<li> <a href="/helloworld">Hello World</a></li>
</ul>
</nav>
"""
class HomePage (webapp2.RequestHandler):
def get(self):
self.response.out.write(menu)
class HelloHandler(webapp2.RequestHandler):
def get(self):
pass
app = webapp2.WSGIApplication([('/', HomePage),
('/helloworld', HelloHandler)], debug=True)
과 helloworld.py : 8080/helloworld를하지만 난 빈 페이지를 참조하십시오
import webapp2
class HelloWorld(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.write('Hello, World!')
application = webapp2.WSGIApplication([('/helloworld', HelloWorld),], debug=True)
내가 로컬 호스트를 참조하세요 수행 안녕하세요 링크를 눌러. 로그는 다음과 같습니다 : ImportError : 모듈이 없습니다.
사용자가 링크를 누른 후 helloworld를 실행하기 위해 index.py에 무엇을 써야합니까? index.py와 helloworld.py가 같은 폴더에 없다는 것을 알아 두십시오. 각각의 프로젝트는 나중에 html/css 템플릿과 일부 자바 스크립트를 사용하기 때문에 자체 폴더를 갖게됩니다. 사전
/helloworld를이 helloworld.py로 라우팅되기 때문에 애플리케이션 제목에 정의 된
그런 다음 index.py에서하여 HelloWorld 경로를 삭제할 수 있습니다 helloworld.py에서 "app"가 아닌 "application"을 만들고 있기 때문에 app이라는 모듈이 없습니다. 데모에서 파생 된 더 간단하고 실제적인 예제로 시작하여 원하는 작업을 수행 할 때까지 단계별로 조정하거나 다음 튜토리얼을 읽는 것이 좋습니다. http://webapp-improved.appspot.com/guide/routing .html –
답장을 보내 주셔서 감사합니다. 나는 튜토리얼을 작업했지만 내 문제에 대한 대답을 얻을 수 없었다.내 생각 엔 다른 폴더에서 다른 파일을 가져 오도록 python에 알리는 방법을 모른다는 것입니다. 그것은 내가 멍청이지만이 사이트를 탐색해도 나는 그것을 수행하는 방법을 알아 내지 못했기 때문일 수 있습니다. 내 코드에 대한 모든 생각/메모? – tamiros
다른 폴더에서 파일을 가져 오는 데 문제가 없습니다. 이 작업을 수행. https://www.udacity.com/course/viewer#!/c-cs253/l-48230541/e-48689147/m-48646718 –