如何在金字塔/塔中返回 JavaScript
how to return javascript in Pyramid/Pylon
如何在金字塔/pylon框架中返回一些javascript代码或带有视图可调用的javascript文件?
您可以像使用任何可调用的模板/视图一样执行此操作。这并没有什么不同。 我仍然建议这样设置内容类型。
from pyramid.view import view_config
@view_config(name='javascript', renderer='templates/javascript.mako')
def my_js_view(request):
request.response.content_type = 'application/javascript'
return {... params ...}
它与其他观点并没有真正的区别。
什么样的JavaScript?动态生成,还是静态生成?
静态时,只需使用静态视图像 CSS 和图像一样提供它。
如果是动态的,请使用模板生成 javascript 文件并使用正确的内容类型提供服务;下面是使用 Chameleon 文本渲染器的示例,但您当然可以使用自己喜欢的模板引擎:
@view_config(name='generated_javascript', renderer='templates/generated_javascript.txt')
def generated_javascript(request):
request.response.content_type = 'text/javascript'
# The returned dict holds items your template can access when
# generating the javascript.
return dict(foo='bar', spam='eggs')
请注意,我在 Response 对象上设置了 content_type
属性,以确保浏览器识别您生成的 JavaScript。
然后,您的模板可以访问您返回的dict
中的值以及一些额外的系统值,就像任何其他模板一样。
请注意,最佳做法是尽量减少动态 JavaScript 的使用,并尽可能多地静态提供动态 JavaScript。任何(动态)上下文信息都应该包含在您生成的 HTML 中,然后您的静态 JavaScript 可以加载和使用。然后,您的静态JavaScript可以被所有访问者缓存,从而大大提高性能。请参阅JavaScript文件的变色龙模板?以获取有关如何实现这一目标的一些提示。
相关文章:
- 连续两页返回Javascript
- 返回Javascript中字符串的特定部分
- 返回 JavaScript 类值而不是对象引用
- 返回JavaScript函数中的值
- 基本否则如果并返回JavaScript
- 如何让php“json_encode”返回Javascript数组而不是Javascript对象
- 函数内部的函数vs函数返回JavaScript中的函数
- 返回Javascript中给定正则表达式的文本范围数组
- 返回javascript中regex字符串的一部分
- 返回javascript对象中的最大值
- AJAX请求返回Javascript获胜't返回特定函数,但将返回其他函数
- 检测数组的所有函数何时返回:javascript
- 函数,返回javascript中两个字符串数组的差值
- 返回javascript数组中具有最低值的对象
- 返回javascript中最匹配的数组项
- 试图理解返回javascript方法的服务器响应
- 获取 Checked Checbox 的值返回 JavaScript/ASP.NET VB 中未定义的值
- 如何在金字塔/塔中返回 JavaScript
- 返回 javascript 中数组的数字
- 返回 JavaScript 对象警报“未定义”