问题标签 [url-for]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 烧瓶 url_for TypeError
尝试在 Flask 中使用 url_for 方法时出现错误。我不确定它的原因是什么,因为我只遵循 Flask 快速入门。我是一个有一点 Python 经验的 Java 人,想学习 Flask。
这是跟踪:
我的代码是这样的:
我已经尝试过 Flask 的稳定版和开发版,但错误仍然存在。任何帮助都感激不尽!谢谢,如果我的英语不是很好,我很抱歉。
ruby-on-rails - 为什么在从不同的控制器重新渲染部分时,Rails 中的 url_for 助手会失败?
我有一个包含一堆小部件的页面,这些小部件的内容主要由 CustomerController 呈现。但是,还有另一个称为 DigitalItemController 的控制器,用于处理有关客户项目更改的业务逻辑。我有一个表单,用于上传要由 DigitalItemController 中的方法通过 POST 处理的文件。该表单位于名为 :customer_assets 的部分中,因为它包含他们已上传的客户文件。同样的小部件有一个已上传文件的表格,其中包含指向它们的链接。
我遇到的问题是,由于 CustomerController 通常会进行渲染,因此它可以很好地渲染我的部分,没有任何抱怨。但是,当我让用户提交要上传的文件时,它会调用我的 DigitalItemController 中的一个方法,其中最后一行表示要渲染部分。当它到达那条线时,我得到一个 ActionController::RoutingError 因为它试图呈现部分。它不喜欢的行是:
我认为不会有问题,因为这里明确使用了 DataController。它应该知道我只想像以前一样重新渲染部分。但是,我得到了这个:
显然,这里的身份证号码已被删除,以防万一。我需要做的就是让 DigitalItemController 中的该方法处理文件上传,然后重新渲染部分,以便小部件显示正确和最新的数据。对我来说,它在正常渲染时渲染得很好,但是一旦提交文件,它就会引发路由错误,这对我来说似乎很奇怪。
解决这个问题的方法是什么?
python - Python/Flask/Jinja url_for 格式化
我正在寻找使用 Flask 的 url_for 为标签生成 URL - 但是它似乎正在用实体/url 代码“%2B”替换“+”。这使得 URL 相当难看,'+' 会更受欢迎。
所以,我的问题是,如何使用 url_for - 但让它接受 '+' 而不将其格式化为 HTML 实体?
ruby-on-rails - Rails url_for 来自带参数的字符串
我有一个我正在尝试制作的站点本地 tinyurl,所以我需要显示与控制器操作不对应的 URL 的完整路径,这不起作用:
因为url_for
接受字符串的那个不接受任何参数。
我怎样才能做到这一点?
根据评论编辑:
配置/路由.rb:
耙:
ruby-on-rails - 将 Rails 3.0 升级到 3.1 时路由停止工作
我正在使用带有 Rails 3.1 的 Ruby 1.8.7。我的应用程序在 Rails 3.0 中运行良好,但是当我将它升级到 Rails 3.1.4 时,我所有的 url 助手都坏了!
在过去两天像疯子一样谷歌搜索之后,我已经放弃了,是时候寻求帮助了。我不认为问题出在我的 routes.rb 文件上,而是在视图/助手方面。
我的 routes.rb 中有以下内容:
在我的主页视图中,我有以下link_to,它出错了:
当我执行 rake 路由时,我得到以下输出,因此路径存在:
当我在浏览器中转到 /sessions/new 时,页面再次加载,路由存在,但在基于 _path 的 url 上出错:
我得到的错误如下:
由于路由确实存在,因此它必须与 url_for 助手有关。我还应该寻找什么?
更新 1:
我在 application_helper.rb 中添加了以下内容:
现在,当我收到以下错误时:
这不是我刚刚做的吗?
更新 2:
以下工作按照 Yoshiji 先生的建议:
更新 3:
通过删除供应商目录中的一些旧 Rails 2 插件,我让 session_path 再次工作。
ruby-on-rails - 为什么 url_for [:new, Project] 翻译成 new_projects_url (复数),而不是 new_project_url (单数)?
我觉得url_for [:new, Project, :test]
特别有趣:这里project
是奇异的!
任何人都知道如何new_project_url
从像这样的数组生成(或路径)[:new, Project]
?
python - Flask:子目录中的静态文件
在我的烧瓶模板文件中,我包含一个 css 文件(我省略了样板文件),如下所示:
url_for('static', filename='css/bootstrap.css')
这使得/static/css/bootstrap.css
它被解释为哪个意思(因为前导斜杠)domain.com/static/css/boostrap.css
。不幸的是,实际static
文件夹位于一个子目录:domain.com/projects/test/static/
环境细节:
我的 fcgi 文件位于~/fcgi-bin
文件夹中(我猜是主机特定的):
我的 .htaccess 位于 domain.com/projects/test/
总而言之,我想url_for('static', filename='css/bootstrap.css')
返回static/css/bootstrap.css
而不是/static/css/bootstrap.css
编辑#1
我注意到这也发生在普通的 url_for 调用上,而不是像 url_for('about') 这样的静态文件。
编辑#2
python - 烧瓶 url_for 产生错误的 URL
烧瓶中的 url_for 生成器不适用于我的一个视图(它适用于其他视图)。生成器/user/?name=Joe
在我期望的时候给出/u/Joe
。
在模板中,我尝试使用以下方法获取用户页面的 URL:{{ url_for('user', name = g.user.name ) }}
这是对应的视图函数:
起初这是可行的,但发生了一些变化。我尝试更改视图名称和 url,但没有成功。
有什么想法吗?我在这方面不知所措...
完整的应用程序可在 GitHub 上找到:https ://github.com/joehand/weight-and-more-tracker
编辑:@login_required
装饰是 Flask-login 提供的。
此外,删除<name>
变量并不能解决问题。那么 URL 就是/user
.
ruby-on-rails - 如何扩展 url_for 以提供动态默认参数
我试图找出一种干净干爽的方法来扩展 url_for ,以便它提供一个基于动态的默认参数。我知道这听起来很奇怪,让我解释一下:
我有一组位于动态范围下的嵌套资源路由:
这给出了如下路线:
为了在视图中生成这些路线,我可以很容易地做到:
但是,这对我来说似乎不是很干燥,因为每个用户的网络都是固定的。我宁愿能够简洁地说:
ruby-on-rails - 资产管道如何使用 url_options 自动附加 url_for 和 link_to 等参数?
在一个 Rails 3.2 应用程序中,我正在这样做。
效果很好。除了资产管道。我需要将这些参数附加到所有应用程序 url,包括 css、js、图像。
在单独的 rails 3.2 应用程序中。出于一个奇怪的原因,我忽略了。相同的 url_options 不起作用。不仅适用于资产,而且根本不起作用。我不得不做以下事情。
这也不适用于资产。我很困惑。有人会知道解决方案吗?
谢谢