Pyramid 的 add_static_view 是如何工作的?

2024-04-08

Pyramid 中的 add_static_view(name, path) 如何工作?

从文档字符串:

"The name参数是一个表示应用程序相关的字符串 本地 URL 前缀。它也可以是完整的 URL。 这path参数是静态文件在磁盘上的路径 居住。这可以是绝对路径、包相对路径、 或资产规格。”

不知怎的,我的印象是这个描述不是 非常精准。

如果我添加一些代码

config.add_static_view("static", "/path/to/resource/on/filesystem")

我访问

http://localhost:PORT/static/logo.png  

我看到给出的 logo.png 它可以在

/path/to/resource/on/filesystem/

现在,如果我有如下代码

config.add_static_view("http://myfilehoster.com/images", "myproject:images")

的描述“path参数是磁盘上的路径,其中 静态文件驻留”似乎不再准确,因为实际 文件驻留在 myfilehoster 的磁盘上。 在我看来,我只是注册某种标识符 (myproject:images) 我可以在我的程序代码中使用它来引用 “真实”位置“http://myfilehoster.com/images”。 例如。

request.static_url("myproject:images/logo.png") 

将会得到解决 到“http://myfilehoster.com/images/logo.png”。

那么这里的文档是否不准确或者我遗漏了什么?


你缺少一些东西。在里面静态资产的叙述性文档 http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/assets.html#serving-static-assets它指出:

代替表示 URL 前缀,name调用的参数add_static_view()也可以是URL。到目前为止我们看到的每个例子都展示了name参数作为 URL 前缀。然而,当name is a URL,静态资源可以从外部网络服务器提供。在此模式下,name生成 URL 时用作 URL 前缀pyramid.request.Request.static_url().

In the API文档 http://docs.pylonsproject.org/projects/pyramid/en/latest/api/config.html#pyramid.config.Configurator.add_static_view使用类似的措辞:

When add_static_view被称为name表示 URL 前缀的参数,如上面所示,后续调用pyramid.request.Request.static_url()以以下开头的路径path参数传递给add_static_view会生成一个类似的 URLhttp://<Pyramid app URL>/images/logo.png,这将导致logo.png文件位于images子目录中mypackage待送达的包裹。

使用 URL 切换行为add_static_view总共和path参数仅被解释为符号路径.static_url()方法。后一个细节可能没有在文档中明确描述,您可以在金字塔问题跟踪器 https://github.com/Pylons/pyramid/issues如果你对此有强烈的感觉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pyramid 的 add_static_view 是如何工作的? 的相关文章

  • scipy 将一个稀疏矩阵的所有行附加到另一个稀疏矩阵

    我有一个 numpy 矩阵 想在其中附加另一个矩阵 这两个矩阵的形状为 m1 shape 2777 5902 m2 shape 695 5902 我想将 m2 附加到 m1 以便新矩阵的形状为 m new shape 3472 5902 当
  • Python 3 os.urandom

    在哪里可以找到完整的教程或文档os urandom 我需要获得一个随机 int 来从 80 个字符的字符串中选择一个字符 如果你只需要一个随机整数 你可以使用random randint a b 来自随机模块 http docs pytho
  • 如何在Python中流式传输和操作大数据文件

    我有一个相对较大 1 GB 的文本文件 我想通过跨类别求和来减小其大小 Geography AgeGroup Gender Race Count County1 1 M 1 12 County1 2 M 1 3 County1 2 M 2
  • 使用 pygame 显示 unicode 符号

    我检查了其他答案 但不明白为什么我的代码错误地显示 This is what I currently see https i stack imgur com 8tNIK png 这是关于文本渲染的相关代码 font pygame font
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • 补丁 - 为什么相对补丁目标名称不起作用?

    我已经从模块导入了一个类 但是当我尝试修补类名而不使用模块作为前缀时 出现类型错误 TypeError Need a valid target to patch You supplied MyClass 例如 以下代码给出了上述错误 imp
  • 检查 Python 中的可迭代对象中的所有元素的谓词是否计算为 true

    我很确定有一个常见的习语 但我无法通过谷歌搜索找到它 这是我想做的 用Java Applies the predicate to all elements of the iterable and returns true if all ev
  • 删除 Django 1.7 中的应用程序(和关联的数据库表)

    是否可以使用 Django 1 7 迁移来完全删除 卸载应用程序及其所有跟踪 主要是其所有数据库表 如果没有 在 Django 1 7 中执行此操作的适当方法是什么 python manage py migrate
  • 工作日重新订购 Pandas 系列

    使用 Pandas 我提取了一个 CSV 文件 然后创建了一系列数据来找出一周中哪几天崩溃最多 crashes by day bc DAY OF WEEK value counts 然后我将其绘制出来 但当然它按照与该系列相同的排名顺序绘制
  • 如果未引发异常,则通过 Python 单元测试

    在Python中unittest框架 是否有一种方法可以在未引发异常的情况下通过单元测试 否则会因 AssertRaise 而失败 如果我正确理解你的问题 你could做这样的事情 def test does not raise on va
  • Pandas:如果单元格包含特定文本则删除行

    pandas 中的这段代码不起作用 如果该列包含提供的任何文本 数字 我希望它删除该行 目前 我只能在单元格与我的代码中传递的确切文本匹配时才能使其工作 因为它只删除显示 Fin 的单元格不是金融或金融 df2 df df Team Fin
  • Keras:如何保存模型或权重?

    如果这个问题看起来很简单 我很抱歉 但是阅读 Keras 保存和恢复帮助页面 https www tensorflow org beta tutorials keras save and restore models https www t
  • 在 Django OAuth Toolkit 中安全创建新应用程序

    如何将 IsAdminUser 权限添加到 Django OAuth Toolkit 中的 o applications 视图 REST FRAMEWORK DEFAULT PERMISSION CLASSES rest framework
  • Emacs 24.x 上的 IPython 支持

    我对 IPython 与 Emacs 的集成感到困惑 从 Emacs 24 开始 Emacs 附带了自己的python el 该文件是否支持 IPython 还是仅支持 Python 另外 维基百科 http emacswiki org e
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • 在 Windows 上使用 apache mod_wsgi 运行 Flask 应用程序时导入冲突

    我允许您询问我在 Windows 上使用您的 mod wsgi portage 托管 Flask 应用程序时遇到的问题 我有两个烧瓶应用程序 由于导入冲突 只有一个可以同时存在 IE 如果请求申请 1 我有回复 然后 如果我请求应用程序 2
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 动态过滤 pandas 数据框

    我正在尝试使用三列的阈值来过滤 pandas 数据框 import pandas as pd df pd DataFrame A 6 2 10 5 3 B 2 5 3 2 6 C 5 2 1 8 2 df df loc df A gt 0
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练

随机推荐

  • 如何使用oauth2访问StackExchange API?

    我正在按照此处提到的说明进行操作 https api stackexchange com docs authentication https api stackexchange com docs authentication 但由于没有提供
  • KnockoutJS - 打印迭代索引作为输入名称

    我正在尝试结合 Spring MVC 创建我的第一个 KnockoutJS 表单视图 ModelAttribute捆绑 数据通过 Ajax 加载并使用 KnockoutJS 填充 通过 KnockoutJS 添加数据 通过 Ajax 和 K
  • 如何在 Matplotlib 中的 x 轴上分配相等的缩放比例?

    我目前拥有的是这样的 x 3 0 4 0 5 0 5 0 6 0 7 0 9 0 9 0 9 0 11 0 y 6 0 5 0 4 0 2 5 3 0 2 0 1 0 2 0 2 5 2 5 生成以下图表 我想要的是在我的轴上具有相同的缩放
  • 错误:无法使用反射定义类

    我正在用这个制作应用程序webpage https hackernoon com a guide to tdd a react redux todolist app part 1 b8a200bb7091 我尝试测试 e2e tests 但
  • 有没有便宜或免费的 VB6 编程 IDE? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 NSNumber 是不可变的?

    为什么 NSNumber 是不可变的 有充分的理由吗 因为现在我正在考虑创建自己的类只是为了可变性 一个数字是一个very基本数据类型 数字就是一个数字 如果你改变它 它就会变成别的东西 数字根本无法改变 与更复杂的数据相比 对象本身仍然代
  • WPF RadioButton InverseBooleanConverter 不工作

    我有两个 RadioButtons 我将它们绑定到 ViewModel 中的布尔属性 不幸的是 我在转换器中收到错误 因为 targetType 参数为空 现在我并不期望 targetType 参数为空 我期望 True 或 False 但
  • 仅将唯一项目添加到列表中

    当远程设备通过网络宣布自己时 我将其添加到列表中 我只想将之前未添加过的设备添加到列表中 这些公告是通过异步套接字侦听器发出的 因此添加设备的代码可以在多个线程上运行 我不确定我做错了什么 但无论我尝试什么 最终都会出现重复 这是我目前拥有
  • 开源项目如何实现有效的民主治理? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何成功实施民主 非BDFL http en wikipedia org wiki Benevolent Dictator For L
  • Node.JS PM2 内存泄漏

    我正在运行我的服务器pm2 start and pm2 monit正在向我展示3GB memory2个小时之后 所以我附加了memwatch 现在我又等了2个小时 再次显示内存pm2 monit到达3GB 因此 我检查了 memwatch
  • Gitlab - Xcode 无法连接远程存储库

    当我通过 Xcode 连接我的存储库时遇到问题 我在远程服务器上的 TurnkeyLinux 虚拟设备上安装了 Gitlab 版本 完全预装 在 Gitlab Web 界面中 我创建了一个新的测试用户 testuser 密码为 passwo
  • 通过“getDisplayMedia”检查浏览器/平台是否支持屏幕捕获

    我们可以通过以下方式请求媒体流到屏幕或窗口navigator mediaDevices getDisplayMedia 然而 这会立即提示用户决定使用哪种捕获 我需要检查浏览器 平台是否支持屏幕捕获 当然 也可以检查一下 getDispla
  • 如何判断时区是否在一年中的任何时间遵守夏令时?

    在 PHP 中 您可以使用如下方法判断给定日期是否在夏令时期间 isDST date I myDate 1 or 0 问题是 这只能告诉您该时间点是否处于夏令时 有没有可靠的方法来检查 DST 在该时区的任何时间是否生效 编辑以澄清 澳大利
  • 使用 Silverlight 的多个屏幕/监视器

    我想编写一个 Silverlight 应用程序 它有 2 个或更多可以 交互 的浏览器窗口 一个示例是父 详细信息显示 其中选择 父 列表 在一个浏览器窗口中 中的项目将在另一个窗口中显示该项目的详细信息 要点是 在多显示器设置中 用户可以
  • Django-manage.py sql APPNAME 不生成模型 SQL

    我正在开发一个相对较大的平面应用程序 为了保持关注点分离 我将模型和视图文件分成auth models dashboard models taxonomy models和更多 这些已放置在文件夹结构中 如下所示 APPNAME app mo
  • 为什么在循环外部和内部声明具有相同名称的变量不会产生错误?

    int i for i 0 i lt 5 i int i 10 printf d i 我有两个问题 为什么没有重新声明错误i 为什么输出会是105次和没有10 1 time 这一切都与scope的标识符 标识符只是 C 中赋予实体 对象 函
  • 单个 Blazor 项目可以同时包含 WebAssembly 部分和服务器端部分吗? [复制]

    这个问题在这里已经有答案了 现在 Blazor WebAssembly 已正式发布 我尝试使用该模板创建我的第一个 Blazor wasm 项目 但很快发现有一点与我的预期完全不同 模板中似乎没有 服务器 部分 并且发布的结果仅包含静态资产
  • 延迟 LINQ 查询执行实际上是如何工作的?

    最近我遇到这样的问题 What numbers will be printed considering the following code class Program static void Main string args int nu
  • ASP.Net Core MVC - 自定义属性的客户端验证

    在以前版本的 MVC 框架中 自定义验证将通过实现IClientValidatable和GetClientValidationRules method 然而在 ASP Net Core MVC 中 虽然我们确实有IClientModelVa
  • Pyramid 的 add_static_view 是如何工作的?

    Pyramid 中的 add static view name path 如何工作 从文档字符串 The name参数是一个表示应用程序相关的字符串 本地 URL 前缀 它也可以是完整的 URL 这path参数是静态文件在磁盘上的路径 居住