将HTML转换为Django模板

Ale*_*lla 3 html python

我想创建一个可以更改html文档的python脚本,我有点迷茫,不知道从哪里开始,我尝试了几项根本行不通的事情,并且认为它不值得将它们张贴在这里。

问题在于,使用Django,最好编写如下所示的链接:

    <link href="{% static 'assets/css/cssfile.css' %}"/>
    <script src="{% static 'assets/js/jsfile.js' %}"></script>
    <img src="{% static 'assets/images/desktop.png' %}"/>
Run Code Online (Sandbox Code Playgroud)

但是我有一个模板,实际上是几个模板,其中包含大量以常规方式引用的静态资产,如下所示:

<link href="assets/css/cssfile.css" rel="stylesheet"/>
<script src="assets/js/jsfile.js"></script>
<img src="assets/images/desktop.png"/>
Run Code Online (Sandbox Code Playgroud)

因此,我一直在尝试创建一个查找“资产”并编辑该行的脚本,替换href="assetshref="{% static'...,然后' %}在末尾添加。我认为对于使用模板的Django开发人员来说,这将是一个非常有价值的脚本,也许它已经存在于某个地方。

有没有任何自动的方法可以将常规href / src属性转换为使用Django标签?

Pau*_*ine 5

我假设您知道正则表达式。我更喜欢进行这种更改的方法是使用支持正则表达式的编辑器,这是搜索和替换的问题。如果您使用的是Django,那么Jetbrains的pycharm绝对物有所值。我喜欢vim。

每个编辑器在正则表达式捕获组的工作方式上都有一些差异(请检查您的编辑器/ ide docs),但是这种正则表达式的一般格式为:

(src|href)="(assets\/.+?)"
Run Code Online (Sandbox Code Playgroud)

它正在搜索以开头的srchref属性assets,以捕获引号之间的所有内容。因此,捕获组1是属性,捕获组2是值-替换表达式为:

\1="{% static '\2' %}"
Run Code Online (Sandbox Code Playgroud)

在某些编辑器上,必须使用$1$2代替\1\2。在Vim中,您必须避开括号IICR。另外,某些编辑器.+?对于非贪婪的“捕获所有内容” 不支持此语法(),您可能不得不使用它[^"]+