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
相关文章
相关标签/搜索