gpt4 book ai didi

python - 正确配置 gae_mini_profiler 时出现问题

转载 作者:行者123 更新时间:2023-11-30 23:11:02 25 4
gpt4 key购买 nike

我在获取 https://github.com/Khan/gae_mini_profiler 时遇到问题在我的应用程序中正常工作。

我仔细遵循了说明,这是我的应用程序(删除了不必要的内容。)

import webapp2
from webapp2_extras import jinja2
import appengine_config
import handlers
import gae_mini_profiler.profiler

class MainHandler(handlers.BaseRequestHandler):
def get(self):
user = separate_file.get_user_and_logins(self)
templateid = 'home.html'
context = {
'user': user,
}
self.render(templateid, context)

app_config = {
'webapp2_extras.jinja2.default_config': {
'globals': {
'profiler_includes': gae_mini_profiler.templatetags.profiler_includes,
},
},
}

app = webapp2.WSGIApplication([
('/', MainHandler)], config=app_config, debug=True)
app = gae_mini_profiler.profiler.ProfilerWSGIMiddleware(app)

我收到此错误:

ERROR    2015-05-21 20:23:25,460 wsgi.py:263] 
Traceback (most recent call last):
File "/Users/jedc/google-cloud-sdk/platform/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/Users/jedc/google-cloud-sdk/platform/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/Users/jedc/google-cloud-sdk/platform/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "/Users/jedc/mypathtomyapp/main.py", line 33, in <module>
'profiler_includes': gae_mini_profiler.templatetags.profiler_includes,
AttributeError: 'module' object has no attribute 'templatetags'

这可能是因为我在主应用程序中使用 webapp2 而不是 webapp 吗?或者我应该以不同的方式导入 gae_mini_profiler ?我想不通。

更新

专门导入 gae_mini_profiler.templatetags 后,我现在遇到了一个新错误。

  File "/Users/jedc/Dropbox (Personal)/code/seeddb-devbranch/seeddbapp/main.py", line 22, in get
self.render(templateid, context)
File "/Users/jedc/Dropbox (Personal)/code/seeddb-devbranch/seeddbapp/handlers.py", line 64, in render
self.response.write(self.jinja2.render_template(template_name, **values))
File "/Users/jedc/google-cloud-sdk/platform/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.1/webapp2_extras/jinja2.py", line 158, in render_template
return self.environment.get_template(_filename).render(**context)
File "/Users/jedc/google-cloud-sdk/platform/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/jinja2-2.6/jinja2/environment.py", line 894, in render
return self.environment.handle_exception(exc_info, True)
File "templates/base.html", line 118, in template
{% profiler_includes %}
TemplateSyntaxError: Encountered unknown tag 'profiler_includes'.

base.html 的末尾有:

  </div>
{% profiler_includes %}
</body>
</html>

现在如果我改变:

{% profiler_includes %}

至:

{{ profiler_includes }}

它清除了错误,但实际上似乎并未触发该功能。

不是 Jinja2 专家,但是当我在 webapp2_extras.jinja2.default_config 部分定义函数时,我是否指定了错误的内容?

最佳答案

您缺少导入语句。您还应该明确导入 gae_mini_profiler.templatetags,因为您正在使用它。

import gae_mini_profiler.templatetags

关于python - 正确配置 gae_mini_profiler 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30383929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com