我正在为一个Django应用程序(也使用Django-CMS)编写一些测试。应用程序本身不使用任何模板,但测试中的场景涉及创建Django-CMS页面,因此创建模板。定义和使用仅用于测试的模板的最简单,最快捷的方法是什么?
答案 0 :(得分:0)
看起来定义自定义模板加载器对我来说很有用:
from django.template.loader import BaseLoader
from django.template.base import TemplateDoesNotExist
class TestTemplateLoader(BaseLoader):
def __init__(self, *args, **kwargs):
super(TestTemplateLoader, self).__init__(*args, **kwargs)
self.is_usable = True
def load_template_source(self, template_name, template_dirs=None):
if template_name == 'test.html':
return 'test.html', 'test.html'
raise TemplateDoesNotExist
然后将其包含在测试设置文件中:
CMS_TEMPLATES = (
('test.html', 'test.html'),
)
TEMPLATE_LOADERS = (
'cmsplugin_filer_image.tests.utils.TestTemplateLoader',
)