Django 常用模块导入记忆

django相关

1. urls相关操作
from django.urls import path, re_path, include
from django.urls import reverse  // 注意reverse 和另一个reversed区别。前者要明确导入,后者是built-in内置不用导入;两者功能也不一。
2. HttpResponse生成
from django.shortcuts import render, Httpresponse, redirect
from django.http import JsonResponse // 响应一个content-type:text/json 返回一个json响应报文
3. 组件auth
from django.contrib import auth  //contrib 意味:构件
from django.contrib.auth.models import User 
from django.contrib.auth.decorators import login_required
4. 组件forms
from django import forms
from django.forms import widgets
from django.core.exceptions import ValidationError  // django的异常定义都在django.core.exceptions模块中,该异常用于自定义钩子。
from django.forms import ModelForm  // 如果一个form的字段数据是被用映射到一个django models.那么一个ModelForm可以帮助你节约很多开发时间。因为它将构建一个form实例,连同构建适当的field和field attributes,利用这些构建信息,都来自一个Model class. 
from django.core.files.uploadedfile import SimpleUploadedFile

5. 邮件组件
from django.core.mail import send_mail

6. model组件
from django.db import models
from django.db.models import F, Q
from django.contrib.auth.models import AbstractUser
from django.contrib.auth.models import User
from django.db import transaction  # 利用model做数据库的事务操作

7. 分页器相关
from django.core import paginator

8. django admin site相关
from django.contrib import admin
from django.contrib.admin import ModelAdmin

9. view 相关
from django.view import View  # 用于media访问内置视图

10. 中间件
from django.utils.deprecation import MiddlewareMixin

11. template模版相关
from django import template  # 自定义tag和filter需要用到

12. 工具
from django.utils.module_loading import autodiscover_modules # 自动发现项目下所有注册app的指定模块并将其加载导入执行。
from django.utils.safestring import mark_safe # 由于django的模版引擎 出于安全原因,在生成html字符串时,会将与html相关的特殊字符进行转义。这时如果是我们后台自己要输出html字符,那么就需要提前将字符通过mark_safe处理一下,再用于模版解析中就不会出现 html标签也展示在页面上的情况了。