问题标签 [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.
flask - 烧瓶导航栏 url_for
有没有更好的方法将 Flask 中的导航栏项目与 JinJia2 模板链接?
我不想为导航栏中的每个项目创建render_template
到该 HTML 页面的路由
我尝试使用变量创建另一个路由,但它仅适用于template
文件夹根目录下的 HTML 页面
如果我想获取template/team
文件夹下的页面,它会返回 500 错误
我这样做是否正确链接导航栏?如何修复我的路线以使其完美运行,或者有更好的方法吗?
python - 在 Flask 和 Flask-WTF 中使用路径和可选参数重定向到新页面不起作用
我正在使用 Flask 和 Flask-WTF,我的views.py
文件中有以下代码:
我想要并期望它做的是,当有人在表单搜索字段中放置一些文本并点击搜索按钮时,它会返回该值,然后我重定向到适当的页面,例如他们搜索foo
并最终到达 /help /富。
遗憾的是,来自表单验证位的重定向没有按需要重定向。它似乎正在重新加载当前页面。
我知道表单正在获取并返回数据,因为flash
调用显示了正确的信息,例如,'Searched for: foo'
但是当我将关键字传递给url_for
页面时,再次简单地重新加载。手动导航到/help/foo
工作正常。
我已经测试过它url_for
正在工作,当我手动输入关键字时,它会根据需要创建适当的路径,例如print url_for('help', keyword='foo')
prints /help/foo
。
任何人都知道为什么它没有按需要重定向?
编辑:如果有人想看看到底发生了什么,让它在Heroku上运行。
python - python flask url_for 抛出常量 werkzeug 构建错误
我在一个非常简单的应用程序中遇到烧瓶 url_for('') 错误。
以上是我的蓝图文件,这些路线工作正常,但如果我尝试这样做
我只是得到这个错误:
谁能帮我弄清楚这里发生了什么?在我的 html 页面中,我可以打印出静态文件的位置:
但如果我尝试这样做:
我再次得到同样的错误。有人对如何进行有一些建议吗?
python - 通过 Cron 作业的烧瓶网页 - url_for 调用中断
我有一个脚本存在于我的 Flask 应用程序中,每 5 分钟执行一次。出于很多原因。但这没关系。
当我运行此代码时,我现在希望在此网页中包含指向我的 app.py Flask 应用程序中的函数的链接。
应用程序.py:
kickoff.py按计划运行。
错误:
任何帮助将非常感激。
更新:
我什至无法找到任何与我试图做的事情相近的东西。我知道我可以重建它,以便后台 Python 代码获取信息并app.py
构建 HTML。后台应用程序将填充数据库,然后其中的一个函数app.py
将从数据库中获取所需的信息并发布到 HTML 页面。
虽然这是最后的手段,因为它需要我重新设计应用程序的整个部分,但我仍然想看看是否有一个解决方案可以让我在app.py
Flask 之外生成这个网页。
python - 我如何链接到不在烧瓶中的静态文件夹中的图像
在烧瓶中,如何提供不在静态文件夹中的图像?
我目前将用户上传的照片保存在烧瓶文件夹之外的目录中(打开openshift
,图像当前保存在数据文件夹下app-root/data
,烧瓶文件位于app-root/repo/
)。
在我的模板中,我如何提供图像文件?
使用url_for
,我如何引用烧瓶文件夹之外的这些图像文件?
如您所见,烧瓶应用程序文件夹外的数据文件夹。问题是如何data/uploads
从烧瓶应用程序目录生成存储在(上一级)中的文件的链接?
javascript - 从javascript调用到python时带有参数的Flaskr url_for不起作用
我正在创建一个 Web 应用程序。
在 javascript 中,我对我的 python 脚本进行 ajax 调用,处理并将结果作为响应发送回。/process/ 是用于处理作为 json 发送的值的 python 脚本的路径,即 value1 和 value2。我在键“结果”中将响应作为 json 设置值发回。
在 ajax 的成功块中,值存储在 name_value 中,这应该作为参数传递给 python 路由方法。
Javascript:
Python脚本:
如果在 url_for 中传递参数,在这种情况下我不会收到参数值。如果我对参数进行硬编码,我可以在 python 脚本中接收参数值,如下所示,
任何帮助表示赞赏。提前致谢。
python - 当 url 未指定语言时,无法使用 Flask-babel 和蓝图路由 url
我已经在 Flask-babel 周围挖掘了一段时间,但似乎无法url routing
通过简单的方式获得blueprint
. 这是精简的应用程序
在我的__ init __.py 文件上,
在蓝图views.py文件中
只要我导航到http://localhost:5000/fr
但当我导航到http://localhost:5000/
(没有 lang)时,我得到 404 错误。正常 - 因为蓝图需要一个 lang_code 作为前缀。
当用户第一次导航到http://localhost:5000/
(没有 lang)时,我希望该站点以“fr”的语言显示页面。如果用户然后将其切换到英语并导航到http://localhost:5000/
,我希望它以英语而不是法语显示。似乎无法让这个工作!
ruby-on-rails-4 - url_for 在 Rails 4 中的 rake 任务发送的电子邮件中
我有一个 rake 任务,它会在一天中发送玩家活动的每日摘要电子邮件。(请参阅下面的示例代码。)如果我PlayerActivityMailer.activity_report.deliver
在控制台中运行,一切正常。但是,当我尝试调用 rake 任务时,出现以下错误:
在做了一些研究之后,我发现在 Rails 4 中,它们完全被削弱了ActionView::Helpers::UrlHelper.url_for
(http://apidock.com/rails/v4.1.8/ActionView/Helpers/UrlHelper/url_for - 注意 4.0.2 下的巨大红色减号) . 如果您查看源代码,您会看到我看到的错误 - 它不再需要选项。据我所知,该功能仍然存在于其他url_for
s 中,例如ActionDispatch::Routing::UrlFor
. 此外,错误消息建议包括Rails.application.routes.url_helpers
.
我试过的
include ActionDispatch::Routing::UrlFor
在 rake 任务(任务内部)和邮件程序中(同时,并且分别)include Rails.application.routes.url_helpers
在相同的位置和配置中,无论是否UrlFor
包含包含。
错误仍然存在。ActionView::Helpers::UrlHelper
我的猜测是,页面视图仍然坚持使用url_for
. 我不认为我可以在视图中包含实际的东西(即使我可以,这看起来也很草率而且很老套)。
示例代码 (高度消毒)
配置/环境/development.rb:
lib/tasks/player.rake:
应用程序/邮件程序/player_activity_mailer.rb:
应用程序/视图/player_activity_mailer/activity_report.html.erb:
我的 routes.rb 文件中还有一个模型 Player,resources :players
以及一个与 Player 关联的 PlayerActivity 类。
我目前@base_url = Rails.configuration.action_mailer.default_url_options[:host]
在我的邮件操作和"http://#{@base_url}/players/#{activity.player.id}"
我的视图中使用(非常可怕的)解决方法,而不是 player_url 部分。
帮助!
ruby-on-rails - 接受用于填充 `url_for` 方法的 URL 参数是否安全?
我正在使用 Ruby on Rails 4.1.1,我正在考虑接受直接传递给url_for
方法的参数(通过 URL 查询字符串),这种方式:
采用上述方法,用户可以在执行操作后被重定向。但是,我认为人们可以随意输入params
可能导致安全问题的...
接受用于填充url_for
方法的 URL 参数是否安全?什么是陷阱?在最坏的情况下会发生什么?
通过params
在对我的应用程序的请求期间记录,我注意到 Rails 添加了always :controller
和action
参数。也许确认url_for
可以以上述方式使用,因为它在内部受到保护并且像 Rails 一样工作。
ruby-on-rails - Strange behavior of `url_for` with argument `params`
I am using Ruby 2.1.1 and Ruby on Rails 4.1.1.
Given...
... I access the URL
... in the rendered edit view, within the form, I have:
... in my controller I have:
When I submit the form then, by logging, I get:
In url_for
I passed params[:hash]
that should be { "controller" => "articles", "action" => "show" }
, right? Why I get :controller => "users/articles"
and the added :user_id => "1"
?! Is it a bug?
The strange behavior relates an automatic namespacing: when I inspect params[:hash]
it is { "controller" => "articles", "action" => "index" }
but when I pass it to the url_for
method it becomes { :controller => "users/articles", :action => "show", :user_id => "1"}
.
Note: The problem does not occur with not nested resources. That is, for instance, when the initial URL is as-like
By looking at the ActionDispatch::Routing::UrlFor#url_for
source code I see it runs reverse_merge!(url_options)
when options
is a Hash
.
After some deeping I came up by using the following code (that seems to work as expected) in order to skip the reverse_merge!(url_options)
:
instead of using:
It happens even by using Ruby on Rails 4.2.0.