Django:模块的引用合集
Django中的引用
import random from io import BytesIO # 用于内存,可以生成文件句柄,存放在内存中
from PIL import Image, ImageDraw, ImageFont #用于生成图片 from django.contrib import auth # 用户认证组件中 from django.db.models import Q #查询 from django.http import JsonResponse # ajax请求中,返回给前端不需要再序列化,对方接受也不需要反序列化 from django.shortcuts import render, HttpResponse, redirect # django中的响应类型 from django.urls import reverse # 重定向中的反向解析(别名) from django.views import View # 视图函数中写类,需要继承的类
from app01.form import UserModelForm # form的引用,用于校验数据,定义规则 from app01.models import UserInfo # 视图函数中要引用模型
FBV装饰器:
from django.contrib.auth.decorators import login_required # 装饰器,用于用户是否认证 @login_required #只需要在FBV 视图函数上面添加即可,用户必须登录了才能够访问
def customers(request): # 要加认证的函数,
...
LOGIN_URL="/login/" #在setting中设置自己的路径,否则会默认走 account/login
CBV装饰器:
#首先写一个用于登录认证的装饰器函数
def login_require(func): def inner(request): if not request.user.id: # 判断用户是否登录过 return redirect("/login/") else: return func(request) return inner
补充 ...
只有get请求的时候才有必要加 装饰器或中间件 来认证是否登录过。

浙公网安备 33010602011771号