zoukankan      html  css  js  c++  java
  • python 模块学习

    一、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
  • 相关阅读:
    C++11写算法之顺序查找
    Codeforces Round #632 (Div. 2) 题解
    AtCoder Beginner Contest 161 题解
    Codeforces Round #630 (Div. 2) 部分题解
    2019-2020 ICPC Northwestern European Regional Programming Contest (NWERC 2019) 部分题解
    Codeforces Round #629 (Div. 3) 题解
    Educational Codeforces Round 84 (Rated for Div. 2) 部分题解
    AtCoder Beginner Contest 159 题解
    Codeforces Round #628 (Div. 2) 题解
    Codeforces Round #627 (Div. 3) 题解
  • 原文地址:https://www.cnblogs.com/haiyan123/p/9805007.html
Copyright © 2011-2022 走看看