Django 常见问题回答

2018-08-30  本文已影响0人  vckah
<algorithm>$<iterations>$<salt>$<hash>

总共有四个部分:散列算法, 算法迭代次数,随机盐和生成的密码哈希。
Django 通过查询 PASSWORD_HASHERS来设置要使用的算法。第一个条目用于存储密码,其它是可用于检查现有密码的有效哈希。

>>> from django.conf import settings
>>> q = QuertDict('a=1&a=2&a=3&b=1&b=2&b=3')
>>> q
>>> <QueryDict:{'a': ['1', '2', '3'], b:['1', '2', '3']}>
>>> q['a']
'3'
>>> q.getlist('a')
['1', '2', '3']
if hasattr(mw_instance, 'process_request'):
   self._request_middleware.append(mw_instance.process_request)

if hasattr(mw_instance, 'process_view'):
    self._view_middleware.append(mw_instance.process_view)
# 请求到来时:以上是从上到下调用
# 请求结束后:以下是从下到上调用
if hasattr(mw_instance, 'process_template_response'):
    self._template_response_middleware.insert(0, mw_instance.process_template_response)

if hasattr(mw_instance, 'process_response'):
    self._response_middleware.insert(0, mw_instance.process_response)

if hasattr(mw_instance, 'process_exception'):
    self._exception_middleware.insert(0, mw_instance.process_exception)

只要注意理解 appendinsert 的区别即可

上一篇 下一篇

猜你喜欢

热点阅读