一、from django.contrib.auth.hashers import make_password
通过函数名即可发现,主要有两个函数,分别是创建密码和验证
用法
ps = "123456" dj_ps = make_password(ps, None, 'pbkdf2_sha256') #创建django密码, 第二个参数为None是每次产生的密码都不用,第三个参数为算法, 后面两个参数可以忽略 ps_bool = check_password(ps, dj_ps) # check_password 返回值为一个Bool类型,验证密码的正确与否
二、from django.core.validators import validate_email
校验邮箱的方法
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
三、from django.views.decorators.csrf import csrf_exempt, csrf_protect
1. 基本使用
form表单中添加
{% csrf_token %}
2. 全站禁用
# ’django.middleware.csrf.CsrfViewMiddleware’,
3. 局部禁用
’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’)
四. 局部使用
# ’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’)
五、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则是查询的时候用到的参数。
下面用个例子看来下:
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