GVKun编程网logo

如何将JavaScript或CSS文件加载到BottlePy模板中?(js导入css文件)

4

如果您想了解如何将JavaScript或CSS文件加载到BottlePy模板中?和js导入css文件的知识,那么本篇文章将是您的不二之选。我们将深入剖析如何将JavaScript或CSS文件加载到Bo

如果您想了解如何将JavaScript或CSS文件加载到BottlePy模板中?js导入css文件的知识,那么本篇文章将是您的不二之选。我们将深入剖析如何将JavaScript或CSS文件加载到BottlePy模板中?的各个方面,并为您解答js导入css文件的疑在这篇文章中,我们将为您介绍如何将JavaScript或CSS文件加载到BottlePy模板中?的相关知识,同时也会详细的解释js导入css文件的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

如何将JavaScript或CSS文件加载到BottlePy模板中?(js导入css文件)

如何将JavaScript或CSS文件加载到BottlePy模板中?(js导入css文件)

我试图用BottlePy返回一个html模板。这很好。但是,如果我在tpl文件中插入这样的javascript文件:

<script type="text/javascript" src="js/main.js" charset="utf-8"></script>

我收到404错误。 (无法加载资源:服务器响应状态为404(未找到))

有谁知道如何解决这个问题?

这是我的脚本文件:

from bottle import route, run, view@route(''/'')@view(''index'')def index():    return dict()run(host=''localhost'', port=8080)

那就是模板文件,位于“ ./views”子文件夹中。

<!DOCTYPE html><html lang="de">    <head>        <meta charset="utf-8" />        <script type="text/javascript" src="js/main.js" charset="utf-8"></script>    </head>    <body>    </body></html>

也许是开发服务器在其中查找我的js文件的“ rootPath / js / main.js”?

文件的结构为:

app.py-js main.js-views index.tpl

谢谢。

答案1

小编典典

好吧,首先,您需要实际使用dev服务器main.js,否则浏览器将无法使用它。

通常将所有文件.js.css文件static放在小型Web应用程序的目录下,因此布局应如下所示:

  app.py- static/    main.js- views/    index.tpl

绝不需要这种确切的命名和布局,而只是经常使用。

接下来,您应该为静态文件提供处理程序:

from bottle import static_file# ...@route(''/static/:path#.+#'', name=''static'')def static(path):    return static_file(path, root=''static'')

这实际上会将您的文件提供static/给浏览器。

现在,到最后一件事。您将JavaScript指定为:

<script type="text/javascript" src="js/main.js" charset="utf-8"></script>

这意味着到的路径.js
对于当前页面的。在你开发服务器,索引页(/)将寻找.js/js/main.js和另一页(说,/post/12)将寻找它/post/12/js/main.js,并且将肯定失败。

相反,您需要使用该get_url函数正确引用静态文件。您的处理程序应如下所示:

from Bottle import get_url# ...@route(''/'')@view(''index'')def index():    return { ''get_url'': get_url }

在中index.tpl.js应引用为:

<script type="text/javascript" src="{{ get_url(''static'', path=''main.js'') }}" charset="utf-8"></script>

get_url用找到一个处理程序name=''static'',并计算到它的正确路径。对于开发服务器,它将始终为/static/。您甚至可以在模板中对其进行硬编码,但是由于两个原因,我不建议这样做:

  • 您将无法在根目录下将应用程序挂载到生产环境中;也就是说,当你把它上传到服务器大生产,它可以被划归http://example.com/(根),但不低于http://example.com/myapp/。
  • 如果更改/static/目录位置,则必须在整个模板中进行搜索,然后在每个模板中进行修改。

asp.net-mvc – 如何从编辑器模板添加JavaScript或css引用

asp.net-mvc – 如何从编辑器模板添加JavaScript或css引用

假设我们的应用程序不会使用 jqueryui,除了一个特定的编辑器模板.如果我想避免将jqueryui放到每个页面上(即我不想将它包含在我的_Layout.cshtml中默认加载的包中),我怎么能让编辑器模板包含jqueryui.js和jqueryui.css文件对我来说不会导致对这些文件的多次引用,并将引用放在标题或我的身体的末尾而不是内联?

这是我在编辑器模板中尝试过的似乎不起作用的内容:

@System.Web.Optimization.Scripts.Render("~/bundles/jqueryui")
@System.Web.Optimization.Styles.Render("~/Content/jqueryuistyles")

这添加了脚本和链接标记,但是每次使用编辑器模板时它都会呈现一次标记,并且它也会直接呈现它们,所以在我的情况下,这是在jQuery加载到正文的底部之前.

@section Scripts{ <script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/jqueryui")"></script> }

这与我在_Layout.cshtml中包含bundle的方式相匹配,但这显然不适用于编辑器模板.什么都没有呈现,即使它确实如此,我认为它仍然会导致对JavaScript文件的多次引用(每次调用编辑器模板时为1)

似乎应该有一种方法让编辑器模板触发包含可以绑定到捆绑包或至少@section系统的JavaScript或css文件.有人知道怎么做吗?

解决方法

实现此目的的一种方法可以是使用当前请求上下文来请求所需的javascript文件.例如,在编辑器模板中,您可以编写类似这样的内容来请求javascript包含

HttpContext.Current.Items["required.Script"] = "~/myeditortemplate.js";

然后在渲染任何可选脚本部分之前的布局中,您可以通过查看当前上下文来呈现所需的脚本

Scripts.Render(HttpContext.Current.Items["required.Script"].ToString())

Scripts在MVC中使用脚本包的地方.或者,您可以简单地将脚本标记点src发送到所需的脚本.

asp.net-mvc-3 – 在编辑模板中,如何将javascript放在head部分?

asp.net-mvc-3 – 在编辑模板中,如何将javascript放在head部分?

我有一个编辑器模板,比方说,日期:

@model DateTime
@section AdditionalJavaScript2
{
   /* some js code */
}

@Html.TextBox("",Model.ToString("d.M.yyyy"),new { @})

现在,我想将一些js代码放入HEAD部分,但这不起作用.

当然,我在layout.cshtml中有这个部分:

<head>
  ...
  @RenderSection("AdditionalJavaScript2",required: false)
</head>

它可以从普通视图中工作,但不能从局部视图(编辑器模板)中工作.

为什么?

而且,有解决方法吗?

谢谢,

伊戈尔

解决方法

部分视图不使用模板,它返回“raw”html以包含在您的页面中(通过Javascript).除了返回的流之外,它无权访问任何内容.

可以这样想:你通常从Javascript / AJAX调用部分视图来获取一些新的html.你得到了回报,并替换了一些DIV标签.系统(FireFox,Chrome,…)如何知道,还有一些额外的数据部分需要替换HEAD标记中的内容.

有一些解决方法:

>不要将脚本放在HEAD中>在html和脚本之间添加一个参数开关.您需要客户端调用,一个用于获取html,一个用于脚本.您可以在页面上的两个位置包含对部分视图的调用.>使用一些预定义的标签(如<! - SEPERATOR - >)分隔脚本和html,让调用代码拆分结果,并将其放在正确的位置.

c# – 如何将文件加载到blob中而不先加载到RAM中?

c# – 如何将文件加载到blob中而不先加载到RAM中?

我正在使用C#,我无法将大文件加载到二进制字段使用字节数组.

基本上,如果我加载的文件太大,我会遇到内存问题.

有没有办法在不使用大量ram的情况下将文件加载到二进制字段中,即避免先将文件加载到内存中?

如果它有帮助,我使用的是Advantage Database Server,这是使用winforms应用程序而不是Web应用程序.

问候

解决方法

AdsExtendedReader.SetBytes可用于以块的形式加载blob.它封装了Jeremy提到的对AdsSetBinary()的调用.

见AdsExtendedReader.SetBytes.

javascript – 加载html后,将资源中的js文件加载到webview中

javascript – 加载html后,将资源中的js文件加载到webview中

我搜索了很多,但无法找到任何解决方案.我基本上在webview中使用突出显示文本等功能制作一个epub阅读器.我为此制作了一些javascript文件.但是要在html页面中添加js文件,我需要在html文件中定义它,如:


                  

总结

以上是小编为你收集整理的javascript – 加载html后,将资源中的js文件加载到webview中全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

androidandroid

今天关于如何将JavaScript或CSS文件加载到BottlePy模板中?js导入css文件的介绍到此结束,谢谢您的阅读,有关asp.net-mvc – 如何从编辑器模板添加JavaScript或css引用、asp.net-mvc-3 – 在编辑模板中,如何将javascript放在head部分?、c# – 如何将文件加载到blob中而不先加载到RAM中?、javascript – 加载html后,将资源中的js文件加载到webview中等更多相关知识的信息可以在本站进行查询。

本文标签: