1、from django.contrib.auth.hashers import make_password
经过函数名便可发现,主要有两个函数,分别是建立密码和验证
用法html
ps = "123456" dj_ps = make_password(ps, None, 'pbkdf2_sha256') #建立django密码, 第二个参数为None是每次产生的密码都不用,第三个参数为算法, 后面两个参数能够忽略 ps_bool = check_password(ps, dj_ps) # check_password 返回值为一个Bool类型,验证密码的正确与否
2、from django.core.validators import validate_email算法
校验邮箱的方法django
def ValidateEmail( email ): from django.core.validators import validate_email from django.core.exceptions import ValidationError try: validate_email( email ) return True except ValidationError: return False
3、from django.views.decorators.csrf import csrf_exempt, csrf_protect
1. 基本使用函数
form表单中添加
{% csrf_token %}
2. 全站禁用spa
# ’django.middleware.csrf.CsrfViewMiddleware’,
3. 局部禁用code
’django.middleware.csrf.CsrfViewMiddleware’,# 不注释 from django.views.decorators.csrf import csrf_exempt @csrf_exempt def csrf1(request): if request.method == ’GET’: return render(request,’csrf1.html’) else: return HttpResponse(’ok’)
四. 局部使用orm
# ’django.middleware.csrf.CsrfViewMiddleware’, # 须要注释这一句话 from django.views.decorators.csrf import csrf_exempt,csrf_protect @csrf_protect def csrf1(request): if request.method == ’GET’: return render(request,’csrf1.html’) else: return HttpResponse(’ok’)
5、from django.shortcuts import render, get_object_or_404
get_object_or_404的介绍: 咱们原来调用django 的get方法,若是查询的对象不存在的话,会抛出一个DoesNotExist的异常, 如今咱们调用django get_object_or_404方法,它会默认的调用django 的get方法, 若是查询的对象不存在的话,会抛出一个Http404的异常,我感受这样对用户比较友好, 若是用户查询某个产品不存在的话,咱们就显示404的页面给用户,比直接显示异常好。
get_object_or_404通常须要3个参数:
1. modelname:一个model,manage,或query对象。
2. *args
3. **kwargs 然后面的*args,**kwargs则是查询的时候用到的参数。csrf
下面用个例子看来下:htm
from django.shortcuts import get_object_or_404 product = get_object_or_404(Product, pk=1)
Product是要查询的model,后面的pk=1是查询条件,你能够根据你须要查询的状况来写条件。 上面的例子也能够写成下面这样的形式:对象
from django.http import Http404 try: product = Product.objects.get(pk=1) except MyModel.DoesNotExist: raise Http404