Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
pydev django模板格式_Django_Django Templates_Pydev - Fatal编程技术网

pydev django模板格式

pydev django模板格式,django,django-templates,pydev,Django,Django Templates,Pydev,我习惯于用eclipse自动格式化我的源代码。为此,我选择所有文本并按Ctrl+Shift+F。 但对于django模板文件,例如 {% extends "base.html" %} {% load staticfiles %} {% block content %} <div class="row"> ... 按Ctrl+Shift+F组合键,我将以 {% extends "prototipo/base.html" %} {% load staticfiles %} {% b

我习惯于用eclipse自动格式化我的源代码。为此,我选择所有文本并按Ctrl+Shift+F。 但对于django模板文件,例如

{% extends "base.html" %} 
{% load staticfiles %} 
{% block content %}
<div class="row">
...
按Ctrl+Shift+F组合键,我将以

{% extends "prototipo/base.html" %} {% load staticfiles %} {% block
content %}
<div class="row">
这会导致模板语法错误。
有什么解决办法吗?

与此同时,我开发了这个脚本,位于tamplates目录中。我在Ctrl+Shift+F之后运行它

import re
import os

def fix_template(filename):
    with open(filename,'r+') as f:
        content=f.read()
        for s in re.findall('(\{%((?!%}).)*\n.*%})',content):
            faulty_string=s[0]
            non_faulty_string=faulty_string.replace('\n',' ')
            content=content.replace(faulty_string,non_faulty_string)
        f.seek(0)
        f.write(content)

basedir=os.path.dirname(os.path.abspath(__file__))

for dirpath, dirnames, filenames in os.walk(basedir):
    for filename in filenames:
        if re.match('.*[.]html',filename) is not None:
            fix_template(os.path.join(dirpath,filename))

与此同时,我开发了这个脚本,定位在tamplates目录中。我在Ctrl+Shift+F之后运行它

import re
import os

def fix_template(filename):
    with open(filename,'r+') as f:
        content=f.read()
        for s in re.findall('(\{%((?!%}).)*\n.*%})',content):
            faulty_string=s[0]
            non_faulty_string=faulty_string.replace('\n',' ')
            content=content.replace(faulty_string,non_faulty_string)
        f.seek(0)
        f.write(content)

basedir=os.path.dirname(os.path.abspath(__file__))

for dirpath, dirnames, filenames in os.walk(basedir):
    for filename in filenames:
        if re.match('.*[.]html',filename) is not None:
            fix_template(os.path.join(dirpath,filename))

嗯,那个编辑来自利克利普,不是PyDev,对吗

我认为问题在于它使用的是默认的HTML代码格式化程序,而它应该使用支持django模板的代码格式化程序


请向LiClipse报告这一问题-尽管请注意,LiClipse的做法是将这些操作委托给外部库,因此HTML格式可以工作,因为它在外部库中可用-因此,在这种情况下,选项可以是禁用格式或查找实现它的库。

Humm,那个编辑来自LiClipse而不是PyDev,对吗

我认为问题在于它使用的是默认的HTML代码格式化程序,而它应该使用支持django模板的代码格式化程序

请向LiClipse报告这一问题-尽管请注意,LiClipse的做法是将这些操作委托给外部库,因此HTML格式可以工作,因为它在外部库中可用-因此,在这种情况下,选项可以是禁用格式或查找实现它的库