它很管用,我想让它超快。index page非常静态,除非日期更新或地图更新,否则几天内不会真正更改。所以应该可以很快地优化,因为它变化不大。我最近迁移到人力资源部,我的URI是montoproject.appspot.com网站我重写了它,使它只有python和django/html(没有数据层访问)Memcache?其他选择?减少javascript?我首先确保数据层不会被触碰:
def get(self):
logo = ''
if get_host().find('.br') > 0:
cookie_django_language = 'pt-br'
logo = 'montao'
elif get_host().find('allt') > 0 and not self.request.get('hl'):
logo = ''
cookie_django_language = 'sv'
elif get_host().find('gralumo') > 0 \
and not self.request.get('hl'):
cookie_django_language = 'es_AR' # learn
else:
logo = ''
cookie_django_language = self.request.get('hl', '') # edit
if cookie_django_language:
if cookie_django_language == 'unset':
del self.request.COOKIES['django_language']
else:
self.request.COOKIES['django_language'] = \
cookie_django_language
translation.activate(cookie_django_language)
loginmsg = ''
user = users.get_current_user()
twittername = None
client = OAuthClient('twitter', self)
if client.get_cookie():
info = client.get('/account/verify_credentials')
twittername = info['screen_name']
# seconds_valid = 8600
# self.response.headers['Cache-Control'] = "public, max-age=%d" % seconds_valid
if logo == 'montao':
self.render(
u'montao',
host=get_host(),
twittername=twittername,
continue_url=get_host(),
loginmsg=loginmsg,
form_url=blobstore.create_upload_url('/fileupload'),
user_url=(api.users.create_logout_url(self.request.uri) if api.users.get_current_user() else api.users.create_login_url(self.request.uri)),
admin=users.is_current_user_admin(),
user=(users.get_current_user() if users.get_current_user() else ''
),
logo=logo,
)
else:
self.render(
u'home',
host=get_host(),
twittername=twittername,
continue_url=get_host(),
loginmsg=loginmsg,
form_url=blobstore.create_upload_url('/fileupload'),
latest=Ad.all().filter('published =',
True).order('-modified').get(),
user_url=(api.users.create_logout_url(self.request.uri) if api.users.get_current_user() else api.users.create_login_url(self.request.uri)),
admin=users.is_current_user_admin(),
guser=(users.get_current_user() if users.get_current_user() else ''
),
logo=logo,
)
我不知道python,但是如果它几天不改变,我相信你可以写一些东西把上面的内容转换成HTML(比如每小时一次),然后提供HTML版本。这将给你一个最大的优化可能,因为你的主页然后根本不必由脚本引擎处理。在
通常,我建议将页面倒置,将索引.html输出为静态文件,以及css和js文件,然后向服务器发出AJAX请求以填充动态位。静态文件加载非常快。在
通过使用客户端JavaScript来确定要使用哪个logo和这样的logo,您仍然可以做到这一点,但是获得呈现的文件上载表单会比较慢,因为
create_upload_url
需要在服务器端进行。在相关问题 更多 >
编程相关推荐