Django Template Language(DTL)的使用

版权声明:该文章为国平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

猜你喜欢

转载自blog.csdn.net/qq_41323073/article/details/86524743
今日推荐