版权声明:该文章为国平GeGe编著,若有问题请联系作者[email protected],qq联系请注明身份与文章,谢谢 https://blog.csdn.net/qq_41323073/article/details/86524743
命令行测试template模板
>>> import django
>>> import os
>>> from django import template
>>> os.environ['DJANGO_SETTINGS_MODULE']='Mysite.settings'
>>> t=template.Template('My name is {{name}}.')
>>> c= template.Context({'name':'DCP'})
>>> print t.render(c)
My name is DCP.
其中os.eviron的设置是为了避免这一句话将出现的问题:所以我们要设置临时变量
>>> t=template.Template('My name is {{name}}.')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\template\base.py", line 187, in __init__
engine = Engine.get_default()
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\utils\lru_cache.py", line 125, in wrapper
result = user_function(*args, **kwds)
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\template\engine.py", line 73, in get_default
django_engines = [engine for engine in engines.all()
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\template\utils.py", line 108, in all
return [self[alias] for alias in self]
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\template\utils.py", line 105, in __iter__
return iter(self.templates)
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\utils\functional.py", line 60, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\template\utils.py", line 31, in templates
self._templates = settings.TEMPLATES
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\conf\__init__.py", line 48, in __getattr__
self._setup(name)
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\conf\__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "D:\SoftWare\Anaconda\soft\lib\site-packages\django\conf\__init__.py", line 92, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "D:\SoftWare\Anaconda\soft\lib\importlib\__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named Mysite.settings
这句话之前先设置了环境变量就不会报这样的错误了。
如果是在文件中,记得在main函数中添加os的环境变量设置
improt os
os.environ['DJANGO_SETTINGS_MODULE']='Mysite.settings'
注释:
注释在每一种编程语言十分重要的
使用{# #}进行注释:{# This is a comment #}
多行注释:
{% comment %}
多
行
注释
{% comment %}
过滤器:
模板过滤器是调整变量值的简单方式。过滤器使用管道符号指定:
{{name|lower}}
上述代码通过lower过滤器调整{{name}}变量的值一一把文本转换成小写,然后再显示,并且过滤器可以串接,即把一个过滤器输出传给下一个过滤器。
{{ my_list|first|upper }} #获取列表中的第一个元素,然后传给下一个过滤器转换成大写
有些过滤器接受参数。参数放在冒号之后,始终放在双引号之内。
{{ bio|truncatewords:"30" }} #显示变量bio前30个词
几个重要的过滤器:
`addslashes:在反斜线、单引号和双引号前面添加一个反斜线。可用于转义字符
`date:根据参数中的格式字符串格式化date或datetime对象。
{{pub_date|date:"F j,Y"}}
`length:返回值的长度,对于列表来说,返回列表元素的数量,对于字符串来说,返回字符的数量,如果变量未定义返回0