gae_mini_profiler {% profiler_includes %} 给出无效的块标记:'profiler_includes'

发布于 2024-12-18 16:40:49 字数 639 浏览 2 评论 0原文

我正在尝试在我的 django-nonrel 应用程序中安装 gae_mini_profiler

我将 {% profiler_includes %} 标记放在 base.html 的底部,

结果是

Exception Type: TemplateSyntaxError
Exception Value: Invalid block tag: 'profiler_includes'

我放置

from gae_mini_profiler import profiler
application = profiler.ProfilerWSGIMiddleware(application)

在在 djangoppengine/main/__init__.py 的底部

我遵循了 https://github.com/kamens/gae_mini_profiler#start

我做错了什么?

I am attempting to install gae_mini_profiler in my django-nonrel app

I placed the {% profiler_includes %} tag at the bottom of my base.html

It results in a

Exception Type: TemplateSyntaxError
Exception Value: Invalid block tag: 'profiler_includes'

I placed

from gae_mini_profiler import profiler
application = profiler.ProfilerWSGIMiddleware(application)

at the bottom of djangoppengine/main/__init__.py

I followed all the other instructions at https://github.com/kamens/gae_mini_profiler#start

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寻找我们的幸福 2024-12-25 16:40:49

我通过将 gae_mini_profiler/templatetags.py 更改为真正的模板标签库来解决这个问题。

为此,创建一个名为 templatetags 的包,然后将 templatetags.py 模块移动(并重命名)为 profiler_tags.py。

在 profiler_tags.py 内部进行以下更改:

更改:

from google.appengine.ext import webapp
register = webapp.template.create_template_register()

更改为:

from django.template import Library
register = Library()

更改:

path = os.path.join(os.path.dirname(__file__), "templates/includes.html")

更改为:

path = os.path.join(os.path.dirname(__file__), "../templates/includes.html")

在设置文件中将 gae_mini_profiler 添加到已安装应用程序列表中。


所有引用

template.register_template_library('gae_mini_profiler.templatetags')

删除对在模板中的

 {% load profiler_tags %}

,无论您有 {% profiler_includes %} ,然后您需要添加一个加载块,我认为这就是所有更改,但需要检查我的 git 日志。

I solved this by changing gae_mini_profiler/templatetags.py to be a true template tag library.

To do this create a package called templatetags, and then move(and rename) the templatetags.py module to profiler_tags.py.

Inside of profiler_tags.py make the following changes:

Change:

from google.appengine.ext import webapp
register = webapp.template.create_template_register()

To:

from django.template import Library
register = Library()

Change:

path = os.path.join(os.path.dirname(__file__), "templates/includes.html")

To:

path = os.path.join(os.path.dirname(__file__), "../templates/includes.html")

In your settings file add gae_mini_profiler to your list of installed apps.


Remove all references to

template.register_template_library('gae_mini_profiler.templatetags')

In your templates whereever you had {% profiler_includes %} you then need to add a load block

 {% load profiler_tags %}

I think that is all of the changes, but need to go check my git log.

烟酉 2024-12-25 16:40:49

您是否正在为 GAE 使用新的 Python 2.7 运行时?如果是这样,则 django 模板设置略有不同,并且 gae_mini_profiler 尚未升级(欢迎任何人提交此修复程序,尚未完成)。

它应该很容易解决,因为您唯一需要做的就是找到一种方法来呈现页面中任何位置的 gae_mini_profiler.templatetags.profiler_includes() 返回的 HTML 字符串。如果内置模板标签无法按原样工作,有多种方法可以实现此目的。如果绝对必要的话,您可以简单地调用基本请求处理程序中的函数并将生成的 html 传递到您的基本模板中(尽管这无疑是一个严重的黑客行为)。

我们希望很快就能让 Python 2.7 与 gae_mini_profiler 一起工作。如果你不是使用 Python 2.7,我不确定问题是什么,因为我希望当前的代码能够工作......

Are you using the new Python 2.7 runtime for GAE? If so, the django template setup is slightly different and gae_mini_profiler hasn't been upgraded yet (anyone is welcome to submit this fix, haven't gotten to it yet).

It should be easy to work around as the only thing you need to do is find a way to render the HTML string returned by gae_mini_profiler.templatetags.profiler_includes() anywhere in your page. There are a number of methods of accomplishing this if the built-in template tag isn't working as-is. You could simply call the function in your base request handler and pass the resulting html into your base template if absolutely necessary (although this is admittedly a gross hack).

We'll hopefully have Python 2.7 working w/ gae_mini_profiler shortly. If you're not on Python 2.7, I'm not sure what the issue is as I'd expect the current code to work...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文