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