该模块是django的工具类,内容比较多,我们选几个重要的来介绍一下:
django.utils.cache
该模块包含用于控制HTTP缓存的辅助函数。它通过管理Vary响应的标题来实现。它包括直接修补响应对象头部的函数和修改函数的修饰器,以自己进行头部修补。
django.utils.dateparse
此模块中定义的函数共享以下属性:
- 它们接受ISO 8601日期/时间格式的字符串(或一些接近的替代)并从Python datetime模块中的相应类返回对象 。
- ValueError如果他们的输入格式正确但不是有效的日期或时间,他们会提高。
- None如果格式不完整,它们会返回。
- 它们在输入中接受高达皮秒的分辨率,但是它们将其截断为微秒,因为这是Python支持的。
django.utils.decorators
method_decorator(装饰者,名称='')
将函数装饰器转换为方法装饰器。它可以用来装饰方法或类; 在后一种情况下,name是要装饰的方法的名称,是必需的。
decorator也可以是函数的列表或元组。它们以相反的顺序包装,因此调用顺序是函数在列表/元组中出现的顺序。
有关示例用法,请参阅装饰基于类的视图。
decorator_from_middleware(middleware_class)
给定一个中间件类,返回一个视图装饰器。这使您可以基于每个视图使用中间件功能。创建中间件时没有传递参数。
它假定早期(有方法,如中间件与老式的Django 1.9的兼容和process_request(), process_exception()和process_response())。
decorator_from_middleware_with_args(middleware_class)
喜欢decorator_from_middleware,但返回一个接受要传递给middleware_class的参数的函数。例如,cache_page() 装饰器是这样创建的CacheMiddleware:
cache_page = decorator_from_middleware_with_args(CacheMiddleware)
@cache_page(3600)
def my_view(request):
pass
django.utils.encoding
字符编码
django.utils.feedgenerator
>>> from django.utils import feedgenerator
>>> feed = feedgenerator.Rss201rev2Feed(
... title="Poynter E-Media Tidbits",
... link="http://www.poynter.org/column.asp?id=31",
... description="A group Weblog by the sharpest minds in online media/journalism/publishing.",
... language="en",
... )
>>> feed.add_item(
... title="Hello",
... link="http://www.holovaty.com/test/",
... description="Testing.",
... )
>>> with open('test.rss', 'w') as fp:
... feed.write(fp, 'utf-8')
django.utils.html
通常你应该使用Django的模板来构建HTML以利用它的自动景观机制,django.utils.safestring 在适当的地方使用实用程序。此模块提供了一些用于转义HTML的其他低级实用程序。
django.utils.text
文本格式化
django.utils.timezone
时区处理
更多Django教程
学习更多Django教程