Django默认引擎是DTL,切换引擎的时候,一定要注意,不能将默认引擎给注释掉,原因是,admin这个应用是django自带的,用到了DTL引擎,所以只能添加引擎,不能切换。通过不同的路径来选用引擎,这样其实就达到切换引擎的目的。
在settings.py中配置模板引擎
TEMPLATES = [
{
# 由于admin应用django默认提供,使用的默认引擎,所以不能删除该模板引擎
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'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',
],
},
},
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
# 通过html存放目录来切换模板引擎
'DIRS': [os.path.join(BASE_DIR, 'jinja2')],
'APP_DIRS': True,
'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',
],
# 'environment':'projectdemo.jinja2_env.environment',
},
}
]
我也是新手,但试验一下,发现,jinja2最大的好处在与,代码基本和python保持一致,python怎么用,jinja2就怎么使用。下面是检查列表是否为空的方法,以及字符串变量是否为空的方法
{% if list_order %}
{% for item in list_order %}
<li>
{% if item %}
{{ item }}
{% else %}
元素为空
{% endif %}
</li>
{% endfor %}
{% else %}
<li>列表为空,没啥好输出的</li>
{% endif %}
print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)