自定义标签同自定义过渡器一样,要创建文件,在配置文件中以APP方法注册,对方法进注册,在 html 文件中引入,.. 由模板传参 在 在配置文件中改时区: 由视图函数传参 包含标签: 当有这种重复的代码时,我们可用包含标签 第一:新建个 html 文件删掉所有代码,重写个要封装,会重复使用的那段代码, 第二,绑定模板, 绑定模板 带参数的包含标签: 模型: 在虚拟环境 中安装 pymysql 连接配置 另写个连接 mysql DATABASES = { 'default': { 'ENGINE'…
当 DEBUG=True 时,django 内部的404报错信息, 自带的报错信息, 要自定义404信息,要先把 DEBUG=False , 之后要自定义4040页面,有两种方法, 方法1,在创建404页面 这样就配置完成,当访问不存在的页面时,跳转到自定义的404页面中, 方法2,创建404.html文件后,写个视图函数渲染,传入 status=404 状态码,(可自定义403,500) 之后在主 urls 文件中给这些配置路由,要在主 urls 文件中导入该 APP 的视图 在该项目中的数据…
保持登录 在 django 中的内置 sessions 在项目的主目录中的配置文件 在数据库中 在视图函数中写登录 在页面登录后会出现 查看数据库内容 这样就实现保持登录 退出登录 注册: 1,创建模型类 2,模板,写前台页面 在模板中创建 login.html 文件,   在应该 app 应用中创建一个 forms.py文件 html 文件 form.py文件中的注册类 视图函数 登录: 在模板中创建 login.html 文件,   在应该 app 应用中创建一个 forms.py文件 fo…
写个类,创建表格 执行命令生成文件 提交,在数据库中创建 进入数据库查看 对数据进行修改操作 只有用到 save() 才能触发 updaer_time 的更改, 下边 update 方法不会修改 updaer_time 调用 save 方法 from django.db import models # Create your models here. # 学院表 class Department(models.Model): # 自增长 主键 d_id = models.AutoField(pr…
在项目中新建个APP, 在主目录中的配置文件中进行 APP 注册 在主目录中的 urls 文件中进行路径分配 新建 urrls 文件 进行分路由配置 创建模板文件 html 文件 写个 form 表单 HttpRequest对象 form 表单的 get 请求, request.GET 得到 form 表传来的值, a,b 的值也会在地址栏中显示 当一个对应的 name 有多个值时(适用于多选框) 用 getlist 方法取出,是个列表 POST请求 文件上传: 在项目主上当中的配置文件中添加上…
在视图函数中写入增删改查的方法 增: 在 urls 中配置路径 : 查: 1: 在后台打印数据 在模型类中添加格式化输出 : QuerySet,反回的是个对象,可以按索引聚会,用 for 循环,, 找第一条和最后一条数据 2: 3: QuerySet,反回的是个对象 删 改 查补充: 常用查询方法: def search_base(request): re = User.objects.all() print(re[0].name) print(re[0].age) print(re[1].na…
第二种方法 首先   'APP_DIRS': True, 将 app 的名字在 INSTALLED_APPS 进行注册 模板变量 传的各种数据类型,和取值 过渡器: 静态文件: 在项目文件目录 中创建 一个 static 文件夹 在这个文件夹中一般包含如下文件 在 css 文件目录下建 个 css 文件 body{ background: blue; } js 文件目录下建个 js 文件 /** * Created by Administrator on 2018/11/2 0002. */ a…
一.分析静态页面   1.静态vs动态 条目 静态页面 动态页面 网站内容 固定不变 经常变动 浏览器加载速度 更快(无需向服务器发起请求) 更慢 改变网站内容 很难(修改或者创建新的html页面) 简单(数据库中添加数据即可) url文件拓展 .htm..html .php..asp..jsp..py 创建语言 HTML PHP.Java.Python   2.本次项目页面分析   a.本项目由5个模块组成分别为:news.course.doc.users.admin   b.在项目根目录下创…
创建一用户,授予对这个 myblog 库的所有表的权限(.*),在任何 ip 地址中访问(@“%”), 刷新: 退出,用新创建的用户登录,并进入这个库, 在昨天创建的项目中,配置文件中 为了数据库的案例,应该把用户,密码放入文件,在配置文件中引入 手动创建: 在settings.py文件中引入my.cnf文件 配置redis缓存 安装插件: pip install -i https://pypi.douban.com/simple django-redis # 在settings.py文件中指定…
把 视图传到前台的  JsonResponse(data=data) 先进行处理,之后再传到前台, 处理:引用自定义错误代码,把错误代码返回给前台,前台根据错误代码中文提示 class Code: OK = "0" DBERR = "4001" NODATA = "4002" DATAEXIST = "4003" DATAERR = "4004" METHERR = "4005" SMS…
index.html 首页 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <!--引入本地--> <link rel…
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet&quo…
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet&quo…
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet&quo…
类的定义 共同属性,特征,方法者,可分为一类,并以名命之 class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 ) cls_name = '这个类的名字是Abc' # 在类里定义的变量 是 属性 print( Abc.cls_name ) Abc.binbin = '正在25班教室' # 可以通过 类名.属性名 = 属性值 给类添加属性 print( Abc.binbin ) ------>>>>> 这个类的名字是Abc 正在25班教室 类是一个独…
模板变量及模板过滤器. 1.模板路径的查找 -查找顺序 1.尝试,在app目录下存放模板. -两种方案 1.app项目文件夹下存放. 2.templates文件夹下分类存放. 首先查找项目settings里的DIRS,可以定义多个路径,这是个列表. APP_DIRS:True定义在注册app中去找.在INSTALLED_APPS列表中找,包括app下面的tem 例如:在INSTALLED_APPS中加入 teacher.apps.TeacherConfig, 或者只定teacher, 在app文…
django 模版系统 一. 语法 { { 变量 } } {% 表达式 %} 二. 变量 { {变量名} } 深度查询据点符( . )在模版语言中有特殊的含义. 当模版系统遇到点(.) 查询顺序如下: 1.字典查询 2.属性或方法的查询 3.数字索引查询 注意事项: ​ 1.如果计算结果的值是可调用的,它将被无参数的调用. 调用的结果将成为模版的值. ​ 2.如果使用的变量不存在, 模版系统将插入 string_if_invalid 选项的值, 它被默认设置为'' (空字符串) . views.…
一.模板标签 Django模板引擎提供的可以在模板中进行的各种逻辑操作,是函数调用的一种特殊形式,如循环.判断等功能,期语法规则为: {% tag %} content {% tag 参数1 参数2 %} content {% tag %} content {% endtag %} 详细模板标签操作请点击模板标签学习网址 1.常用标签 (1)if...elif...else...       可以使用and/or/in/not/==/!=/<=/>=, 来进行判断 (2)for...in...…
聚合查询: 分组查询: annotate() 方法 例:查询某学院学生人数,(一对多查询) 以字典的形式输出 annotate(统计 ‘关联学生字段 出现的次,).字典形式(键,值) 例:查询每项课程有多少学生 (多对多查询) 先拿到所有课程信息表, annotate(统计 ‘dept’ 出现的次,).字典形式(键,值) F 查询: Q 查询: 连接到阿里云服务器,上传项目,在该项目中创建新的 APP, 创建好后在本地更新下载下, 在配置文件中注册 APP 分配 URL 更新下 建表 生成执行文…
中间件 在项目主目录下的配置文件 在项目主目录下创建文件 写个自定义异常处理 方法1 要让其生效,要在主目录下,的中间件中进行注册 主目录下.该文件名.类名 在进入视图函数之前进行判断,  给 request 添加属性 方法2 同样要在配置文件中进行注册 测试该中间件是否生效,在视图函数中打印下, 上下文处理器 在主目录的配置文件中 在上下文处理器中传进来的,可以不经过视图,直接在前台模板中调用 , 如:在 html 文件中直接调用 request 就呆以在页面上显示: 自定义一个上下文处理器,…
url 路由配置 这里的 name 由用户输入,得到参数 /<>/是获取用户输入值 这里的 name 默认接收的是 str 如果要接收 int 时: 当输入参数非数字时提示错误 最常用是 str 和 int 类型 虽然输入的是 123h 与 'h/'不符,但还 是能匹配到, 如果这样写时就与 path('h/‘,views.re_test) 以什么开关,以什么结尾, app 中的 url  (分路由) 在主路由中导入  include **kwargs 页面重定向: 页面跳转 导入  redi…
在虚拟机中创建虚拟环 mkvirtualenv -p /usr/bin/python3 djtest mkvirtualenv 是创建命令, -p /usr/bin/python3  是指定在 python3 中创建, djtest  是环境名字 workon 是查看, 进入虚拟环境,和接环虚拟环境 deactivate  退出虚拟环境 指定版本安装 输入 django-admin startproject hello_dj 在 pycharm  中创建项目: 创建同步目录 找到虚拟环境中的解释…
在线课堂 一.数据库模型设计 # 在apps/course/models.py中定义如下模型: from django.db import models from utils.models import ModelBase class Teacher(ModelBase): name = models.CharField(max_length=150, verbose_name="讲师姓名", help_text='讲师姓名') positional_title = models.Ch…
一.Django 现状   1.Django开发前景   1.1 老师做过的项目   ​ 项目图展示:     1.2 Django的厉害之处 在python中,与web开发环境相关的包有13045个 django就占了9091个,大约70% 在python中,活跃的web框架多达54个,其中最活跃的有,Django,Flask,Pyramid,Zope 最受欢迎的就是Django,没有之一 超过5263个中大型网站使用Django开发   1.3 哪些公司在使用Django? 国内:豆瓣.知乎…
从讲项目开始,查找错误,完善笔记,尽可能 翻译没一句代码(以后台为主), 本项目亮点,也是重点 Django ORM中对数据查询的优化(only.defer.select_related) redis缓存短信验证码.图片验证码.用户session 使用docker容器搭建数据集群负载均衡.读写分离 使用django缓存机制 User模型的拓展 数据库的设计能力 数据库的多表关联设计 数据库更新的优化 django信号机制使用 使用celery发送手机短信 自定义用户.用户组以及权限的管理 使用d…
项目部署 稳定,并发,效益, 一.Django配置 1.settings.py配置 复制全局settings.py配置文件,创建一个副本命名为MyBlog/pro_settings.py,修改DEBUG为False. DEBUG = False 将不再提供静态文件服务 # 填写你自己的ip和域名ALLOWED_HOSTS = ["www.youkou.site", "39.108.191.165", "localhost", "127.…
验证用户登录: 对一个视图函数进行登录权限验证,(登录后才可以访问,否则重定向到登录页面) #from django.contrib.auth.decorators import login_required # @login_required(login_url='news:login')# def index(request):# return 对一个类视图进行登录权限验证,(登录后才可以访问,否则重定向到登录页面)# @method_decorator(login_reqirde(logi…
g更改标签:,前台要向后台传来 id, name, 对标签进行校验:标签不能为空,标签是否已经存在, 流程: def put(self, request, tag_id): ''' 更改标签 :param request: :return: ''' # 拿到前台传来的参数 try: json_data = request.body if not json_data: return to_json_data(errno=Code.PARAMERR, errmsg=error_map[Code.PA…