2017-05-20 30 views
0

我试图让django-hamlpy工作。我安装使用pip install django-hamly它和修改我的设置文件,按文件:如何安装和使用django-hamlpy?

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的模板加载被注释掉,看看是否发挥了作用。我认为有些事情是错的,因为当我开发它们时,我得到错误“No module named'hamlpy.template.loaders'”。

我再次检查,安装了django-hamlpy(使用pip install),并且我被告知所有依赖关系都已满足,并且模块已安装。我试图卸载并重新安装它,现在我得到这个错误:

ImportError at/
cannot import name 'HAML_EXTENSIONS' 

所以我真的不明白这是怎么回事。

编辑:误读文档后,我添加了“hamlpy”到应用程序列表。现在我回到了模板没有发现错误,至少是有道理的:如果文件扩展名是.haml我认为

TemplateDoesNotExist at/
home/home_page.html 
+0

发表你的看法,你有使用haml和整个设置文件 – Exprator

+0

你在INSTALLED_APPS中包含'hamlpy'吗? –

+0

感谢您的快速响应。我阅读文档的方式似乎意味着应用程序领域的'hamlpy'是用于翻译的。我只是添加它看看发生了什么,但它似乎没有改变任何东西,所以我评论说。现在我再次取消注释,我回到了“无法找到HTML模板”的错误 - 所以现在最不重要。这是整个文件:https://dpaste.de/1G7r –

回答

0

的HamlPY装载机只有得到执行。如果您想继续允许使用HTML .html文件,则您需要重新添加Django的两个注释加载器。