如何安装和使用django-hamlpy?

时间:2017-05-20 13:29:41

标签: django django-templates haml

我试图让django-hamlpy工作。我使用pip install django-hamly安装了它并根据文档修改了我的设置文件:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(PROJECT_DIR, 'templates'),
        ],
        'APP_DIRS': False,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            'loaders': (
                'hamlpy.template.loaders.HamlPyFilesystemLoader',
                'hamlpy.template.loaders.HamlPyAppDirectoriesLoader',  
                # 'django.template.loaders.filesystem.Loader',
                # 'django.template.loaders.app_directories.Loader',  
            ),
            'debug': True,
        },
    },
]

然而django抱怨它无法找到我的index.html模板,当时我希望它在同一目录中查找index.haml模板。

两个django模板加载器被注释掉,看看是否有所作为。我认为有些事情是错误的,因为当我发现它们时,我得到了错误"没有名为&haffpy.template.loaders'""

的模块

我仔细检查了安装了django-hamlpy(使用pip install),我被告知所有依赖项都已满足并且模块已经安装完毕。我试图卸载并重新安装它,现在我收到了这个错误:

ImportError at /
cannot import name 'HAML_EXTENSIONS'

所以我真的不明白这里发生了什么。

编辑:在误读了文档后,我添加了" hamlpy"到应用列表。现在我回到模板未找到的错误,这至少是有道理的:

TemplateDoesNotExist at /
home/home_page.html

1 个答案:

答案 0 :(得分:0)

如果文件扩展名为.haml我认为,HamlPY加载程序只会被执行。如果你想继续允许使用HTML .html文件,你需要在Django的两个注释掉的加载器中重新添加。