python 模塊學習

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
相關文章
相關標籤/搜索