Я начал преподавать основы веб-разработки с помощью python в Google App Engine и веб-фрейме webapp2.Обработка нескольких URL-скриптов в Google App Engine
В принципе, я хотел бы создать домашнюю страницу, где я разместим все ссылки на разные проекты. каждая ссылка направит на новый url, где будет запущен соответствующий файл py.
на данный момент, все, что я хочу, это иметь одну ссылку, которая направляется на страницу Hello World. это оно. и для жизни меня я не могу понять, как написать обработчик для этого события (мне даже нужен адлер?). может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?
моя структура файлов:
+Main Directory (Folder)
- app.yaml
- index.py
+helloworld (Folder)
__init__.py
helloworld.py
app.yaml файл:
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:
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)
, когда я нажимаю ссылку Hello World я получаю ссылку на локальный хост: 8080/HelloWorld, но я вижу пустую страницу. в журнале указано: ImportError: Нет модуля с именем app
Что следует писать в index.py для запуска helloworld после того, как пользователь нажмет на ссылку. обратите внимание, что index.py и helloworld.py не находятся в одной папке. каждый проект будет иметь свою собственную папку, так как позже я буду использовать html/css-шаблоны и некоторые javascripts.
заранее спасибо
ни один модуль с именем app не потому, что в helloworld.py вы создаете «приложение», а не «приложение». Я предлагаю вам начать с более простого рабочего примера, полученного из демонстрации, и настроить его шаг за шагом, пока он не сделает то, что вы хотите, и/или прочитайте учебник здесь: http://webapp-improved.appspot.com/guide/routing .html –
Благодарим вас за ответ. Я работал над учебником, но не смог получить ответ на мою проблему.я предполагаю, что я не знаю, как сказать python импортировать другой файл из другой папки. это может быть из-за того, что я ноб, но просматриваю этот сайт, но до сих пор не могу понять, как это сделать. Любые мысли/примечания к моему коду? – tamiros
Проблема не в импорте файлов из других папок. сделай это. https://www.udacity.com/course/viewer#!/c-cs253/l-48230541/e-48689147/m-48646718 –