我想在我的(Python)代码中使用Django模板引擎,但我不是在构建一个基于Django的网站.如何在没有settings.py文件(和其他文件)并且必须设置DJANGO_SETTINGS_MODULE环境变量的情况下使用它?

如果我运行以下代码:

>>> import django.template
>>> from django.template import Template, Context
>>> t = Template('My name is {{ my_name }}.')

我得到了:

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

推荐答案

解决办法很简单.实际上是well documented,但不太容易找到.(我不得不在挖洞上转转--当我试了几次不同的谷歌搜索时,结果没有出现.)

以下代码可以工作:

>>> from django.template import Template, Context
>>> from django.conf import settings
>>> settings.configure()
>>> t = Template('My name is {{ my_name }}.')
>>> c = Context({'my_name': 'Daryl Spitzer'})
>>> t.render(c)
u'My name is Daryl Spitzer.'

有关您可能想要定义的一些设置(作为要配置的关键字参数)的说明,请参阅Django文档(上面已链接).

Django相关问答推荐

Django中的判断约束

如何在Django REST框架中使用FactoryBoy创建不同的项目

情节主题更改问题

按下按钮刷新在html文件中显示的变量

Django通用列表视图与多查询搜索

使用 Crispy Forms 时 Django 返回 'TemplateDoesNotExist'

NoneType对象没有属性保存Django

Django 和 HTML 无法从指定时间开始视频

Django授权判断具有通配符模式的URL

设置 SECURE_HSTS_SECONDS 可以不可逆转地 destruct 您的网站?

Django过滤器查询外键

使用 Django 和 South 重命名应用程序

Django 自定义管理器 - 如何仅返回登录用户创建的对象?

Django:将原始html(来自数据库)显示为html,而不是呈现

Django 1.9 中 django.db.models.loading.get_model() 的类似功能是什么?

Django REST Framework 和 FileField 绝对 url

模型表格Save保存,Get获取保存的对象

Django:按位置排序,忽略 NULL

Django 中的自定义 HTTP 标头

AttributeError:ManyRelatedManager对象没有add属性?