网站需要用python更新
我正在检修的网站目前使用的是python 2.3.7,并使用Google App Engine进行管理。它必须更新到2.7,并且由于新版本的功能,模板部分被降级。在此过程中需要进行哪些必要的更改?仅供参考,我是一名高中生,在聊天室网站上做这件事。当我重写app.yaml的更改时,更改.py中的代码(然后我将文件重新引用到.app),它会抛出这个回溯错误。帮忙网站需要用python更新,python,django,google-app-engine,templates,livechat,Python,Django,Google App Engine,Templates,Livechat,我正在检修的网站目前使用的是python 2.3.7,并使用Google App Engine进行管理。它必须更新到2.7,并且由于新版本的功能,模板部分被降级。在此过程中需要进行哪些必要的更改?仅供参考,我是一名高中生,在聊天室网站上做这件事。当我重写app.yaml的更改时,更改.py中的代码(然后我将文件重新引用到.app),它会抛出这个回溯错误。帮忙 File "/base/python27_runtime/python27_lib/versions/1/google/appengine
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 196, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 255, in _LoadHandler
handler = __import__(path[0])
ImportError: No module named devchat
我的进口是
import cgi
import os
import urllib
import logging
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
from google.appengine.ext.webapp import template
from google.appengine.api import memcache
代码中有关模板的部分在这里
class BaseRequestHandler(webapp.RequestHandler):
def generate(self, template_name, template_values={}):
# We check if there is a current user and generate a login or logout URL
user = users.get_current_user()
if user:
log_in_out_url = users.create_logout_url('/')
else:
log_in_out_url = users.create_login_url(self.request.path)
# We'll display the user name if available and the URL on all pages
values = {'user': user, 'log_in_out_url': log_in_out_url}
values.update(template_values)
# Construct the path to the template
directory = os.path.dirname(__file__)
path = os.path.join(directory, 'templates', template_name)
# Respond to the request by rendering the template
self.response.out.write(template.render(path, values, debug=_DEBUG))
class MainRequestHandler(BaseRequestHandler):
def get(self):
if users.get_current_user():
url = users.create_logout_url(self.request.uri)
url_linktext = 'Logout'
else:
url = users.create_login_url(self.request.uri)
url_linktext = 'Login'
template_values = {
'url': url,
'url_linktext': url_linktext,
}
self.generate('index.html', template_values);
class ChatsRequestHandler(BaseRequestHandler):
def renderChats(self):
greetings_query = Greeting.all().order('date')
greetings = greetings_query.fetch(1000)
template_values = {
'greetings': greetings,
}
return self.generate('chats.html', template_values)
def getChats(self, useCache=True):
if useCache is False:
greetings = self.renderChats()
if not memcache.set("chat", greetings, 10):
logging.error("Memcache set failed:")
return greetings
greetings = memcache.get("chats")
if greetings is not None:
return greetings
else:
greetings = self.renderChats()
if not memcache.set("chat", greetings, 10):
logging.error("Memcache set failed:")
return greetings
def get(self):
self.getChats()
def post(self):
greeting = Greeting()
if users.get_current_user():
greeting.author = users.get_current_user()
greeting.content = self.request.get('content')
greeting.put()
self.getChats(False)`
下面是一个非常好的视频,它解释了如何更新应用程序:您遇到了什么问题?有错误吗?正在使用哪个webapp库/框架(导入了什么)?您说您将文件重命名为
。app
?实际上您不需要这样做-您看到的main.app
示例可以理解为main.py
中的app
变量。因此,第一步是将文件重命名回devchat.py
(或任何原始文件:))。然后,您要确保在devchat.py
中有一行内容类似于app=webapp.WSGIApplication([('/',MainRequestHanlder)])
,这是您将部署处理程序的地方。某些内容(可能在您的app.yaml中,可能在另一个文件中)正在尝试导入devchat
,它不存在或已被重命名。你能找到在哪里发生的吗?另外,如果你要将python更新到2.7版,你肯定会想。它说我也需要从webapp更新到webapp2,现在它从sdk日志中告诉我,我需要添加库?