Django关于设置自定义404和安装debug-toolbar的笔记 关于设置404 先做好404页面,然后在views.py文件中做好映射,最后是在urls.py做好路由,而这个urls.py必须是项目里的那个,我放到了app的里面,弄了好久都没出来,官网也只是讲了放到urlconf中,但是哪个没有讲明白. handler404 = 'app.views.your_page_not_found' 记住,一定要是项目的urls.py. 关于安装debug-toolbar 安装方法很简单,官网给…
========================4.Springboot2.0单元测试进阶实战和自定义异常处理 ============================== 1.@SpringBootTest单元测试实战 简介:讲解SpringBoot的单元测试 1.引入相关依赖 <!--springboot程序测试依赖,如果是自动创建项目默认添加--> <dependency> <groupId>org.springframework.boot</groupId…
第三百一十四节,Django框架,自定义分页 自定义分页模块 #!/usr/bin/env python #coding:utf-8 from django.utils.safestring import mark_safe #封装分页类模块 class fen_ye_lei: def __init__(self,dang_qian_ye,shu_ju,tiao_shu,ye_ma_shu,qian_hou_ye,url): """ 一个参数接收当前页 第一个参数,接收分页数…
写在前面 上周在博客园看到一篇通用权限系统的文章,看到他那个UI不错,这里就研究了一下,将网盘的UI修改为他的那个,感兴趣的可以参考:http://b-jui.com/ 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像…
Django(模板语言-自定义filter和simple_tag)   filter过滤器的主要形式:变量|函数,意思是将变量交给函数处理,而自定义filter就是自己定义函数,因为用到已有的很少. a.在app中创建templatetags模块(必须的) b.在templatetags中创建.py文件,如my_tags.py from django import template from django.utils.safestring import mark_safe register =…
<跟老齐学Python Django实战>作为市面上少有的Django通俗实战书籍,给了我学习Django很大的帮助.作为一名新入门的菜鸟,全书我重复练习了至少三遍,每次都有新的收获. 前两次我选用了跟原书作者一致的Python和Django版本,只要保证代码没“抄错”,基本不会有什么问题.第三次使用了更新的"Django==2.1.1",在路由urls.py配置中发现了不少问题,并一一改正. 写此博文,纪念自己的学习成果,并向作者qi sir致敬! 我的环境.版本:Cen…
一.为什么要自定义Django中的自定义过滤器:Django中提供了很多内置的过滤器和标签,详见链接django官网,主要有以下几个: autoescape(自动转义)block(模板继承)csrf_token(跨站伪造请求)extends(模板继承)filter(过滤器)for(循环)if(判断)include(加载模板) 等等,还有很多详见官网上的内容. 但是虽然Django内置了很多的标签和过滤器但是很多时候我们还需要自定义的过滤器来达到我们网页的效果,这个时候就要考虑我们自己定义一个过滤…
自定义步骤: 1.     在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 2.     在app应用中创建templatetags模块包(模块名只能是templatetags) 3.     创建任意 .py 文件,如:my_tags.py ·   导入模块:from django import template ·   实例化注册器:register = template.Library()   #register的名…
记得有人跟我说过,rails的has_many :through是一个”亮点“,在Django看来,该功能简直不值一提.rails中的many-to-many关联中,还需要你手工创建关联表(写 migration的方式),而has_many :through的”语法“只不过是为了自定义关联关系:通过一个中间的.到两端都是many-to-one的模型类实现多对多关联. 在Django中,many-to-many的中间关系表是自动创建的,如果你要指定一个自己的Model类作为关系对象,只需要在需要获…
从今天开始,我们将完成"公开课"课程的相关功能..... 1.把course-list.html复制到templates目录下 2.这个页面的头部.底部与之前定义的base.html模板是一样的,所以我们可以继承它,编辑course-list.html 3.在app.courses下新建urls.py文件,以后我们把课程相关的url都放在这个文件下 4.编辑项目根下的urls.py,把courses下面的urls.py包含进去 urlpatterns = [ ... #课程相关url配…
基本框架搭建好了后,我们就要开始丰富页面内容了.最起码,得有一个用户登录的表单不是么?(注册的事情我们先放一边.) 一. 原生HTML页面 删除原来的login.html文件中的内容,写入下面的代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登录</title> </head> <…
需求: 实现请假单的电子审批 1. 支持国际化 2. 支持模型级别的访问记录 here we go: 这里会写一系列的文章,来记录我实战的过程,由于接触django没多久,难免有疏漏之处,望拍砖不要太重. ==========后记================= 发现cnblog似乎有些鞭长莫及.因为文档编排的关系,最后用word记录了.可以这里查看全文:http://download.csdn.net/detail/lion_awake/7859773 (建议下载查看,然后评论返回积分)…
目录介绍 按照上一篇初学Django首先建立起一个默认站点,生成如下的目录结构: manage.py 一种命令行工具,允许你以多种方式与该 Django 项目进行交互. 键入python manage.py help,看一下它能做什么. 你不需要编辑这个文件:在这个目录下生成它纯是为了方便启动服务 (通过执行 python manage.py runserver 9200 ,就可以通过http://127.0.0.1:9200访问新建的站点了) testsite目录中有如下几个文件: 其中具体的…
路由层 如何给网页添加首页及尾页 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'test',views.test), url(r'testadd',views.testadd), ] 路由一旦匹配就不再走下面的路由匹配关系了 路由增加首页的方式 url(r'^$',views.home) 路由增加尾页的方式(当所有的路径都匹配不上时,给我返回404提示信息) url(r'',views.error)    无名分组: url(r'…
因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的.独立的. 通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户.对于静态网站,这可能不是个问题,而对于动态网站,尤其是京东.天猫.银行等购物或金融网站,无法识别用户并保持用户状态是致命的,根本就无法提供服务. 你可以尝试将浏览器的cookie功能关闭,你会发现将无法在京东登录和购物. 为了实现连接状态的保持功能,网站会通过用户的浏览器在用户机器内被限定的硬盘位置中写…
Django提供了一个新的类来帮助你管理分页数据,这个类存放在django/core/paginator.py.它可以接收列表.元组或其它可迭代的对象. 基本语法 1 2 3 4 5 6 7 8 9 10 class Paginator(object):       def __init__(self, object_list, per_page, orphans=0,                  allow_empty_first_page=True):         self.obj…
1.环境搭建和创建项目 1.环境搭建 每当我们开始一个新项目的时候,通常都会搭建一个全新.独立.隔离的项目环境,这样做的好处自然不必多说.有很多种建立项目虚拟环境的工具,使用比较普遍的是Python中的virtualenv.安装好virtualenv工具后,进入想要放置的项目文件夹,建立一个虚拟环境,激活环境,安装django. virtualenv -p python3 venv #创建虚拟环境 source venv/bin/activate #激活虚拟环境 pip #安装django 2.…
单表查询 补充一个知识点:在models.py建表是 create_time = models.DateField() 关键字参数: 1.auto_now:每次操作数据,都会自动刷新当前操作的时间 2.auto_now_add:在创建数据的时候,会自动将创建的时间记录下来,后续的修改不影响该字段 增.删.改.查 增 方式1:create book_obj =models.Book.objects.create(title='三国',price=19.99,create_time='2019-11…
项目说明 该电商项目类似于京东商城,主要模块有验证.用户.第三方登录.首页广告.商品.购物车.订单.支付以及后台管理系统. 项目开发模式采用前后端不分离的模式,为了提高搜索引擎排名,页面整体刷新采用jinja2模板引擎实现,局部刷新采用vue.js实现. 项目运行机制如下: 项目搭建 工程创建 项目使用码云进行源代码版本控制,在码云创建好后直接克隆到本地即可,然后在项目根目录下执行virtualenv venv创建虚拟环境,source venv/bin/activat激活虚拟环境后,安装dja…
创建用户APP 整个项目会存在多个应用,需要存放在一个单独的文件包了,所以新建一个apps目录,管理所有子应用. 在apps包目录下穿件users应用 python ../../manage.py startapp users 这个时候呢,需要我们将新创建的应用注册到django里,可是这里我们修改了应用的管理目录,与默认的方式不同,如果还按照之前的方式注册APP肯定会报错,这个时候我们可以先查看一下django的导包路径,在dev文件中输入 print(sys.path()) # 输出包的所有…
前言 我们通常做查询操作的时候,都是通过模型名字.objects的方式进行操作.其实模型名字.objects是一个django.db.models.manager.Manager对象,而Manager这个类是一个"空壳"的类,他本身是没有任何的属性和方法的.他的方法全部都是通过Python动态添加的方式,从QuerySet类中拷贝过来的.示例图如下: 所以我们如果想要学习ORM模型的查找操作,必须首先要学会QuerySet上的一些API的使用 QuerySet 21个常用的API fi…
初学wex5,先理理让人容易混淆的三个概念: 一 基本概念: 1 wex5组件,顾名思义,在编辑窗口右侧的组件集合里的,都是wex5基于开源自创的组件,并封装了一套自已的方法.目的是为了方便.相关方法在api有提示,操作中也有提示. 2 js对像 JavaScript 中的所有事物都是对象:字符串.数值.数组.函数... 此外,JavaScript 允许自定义对象. 二 对像获取与取值方法 1 wex5 this.comp() 效能较低,但操作方便 取值方法:this.comp().val()…
效果演示: github地址:https://github.com/mncu/django_projects/tree/master/django_projects/pagination_test 本例中总页数为30页,显示页数为12页,当前页的前排页数为4,后排页数为5 将分页分为三种情况: 1   当前页为第1页到第7页的时候,无省略页,且12个位置的内容是不变 2  当前页为第8页到第25页时,位置1与位置2内容不变,当前页一直处于位置7, 3  当前页为第25页到第30页时,位置1与位置…
前言:本文基于上一篇文章中的源代码进行改写,地址:http://blog.csdn.net/eguid_1/article/details/52182386 注意:为什么不用module.exports,而使用exports? module.exports的优先级比exports要高,为了防止自定义的模块与nodeJS原生模块冲突,所以这里采用exports定义模块名 文件名:root.js(node入口),parseRequest.js(自定义模块) 一.自定义nodejs模块 parseRe…
1.自定义管理器(Manager) 在语句Book.objects.all()中,objects是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager. 每个Django模型至少有一个manager,你可以创建自定义manager以定制数据库的访问. 这里有两个方法创建自定义manager:添加额外的manager;修改manager返回的初始Queryset. 添加额外的manager 增加额外的manager是为模块添加表级功能的首选办法.(至于行级功能,也就是只作用于模型实例…
ModelAdmin 作用:对后台数据表的显示做自定义的设置(如果对django默认的显示模式感到满意则不需要定义modeladmin).我对默认的显示模式永远不满意! 定义modeladmin: from django.contrib import admin from myproject.myapp.models import Author class AuthorAdmin(admin.ModelAdmin): pass 注册model,让model与后台的显示相关联: admin.sit…
模板层 ​ {{}} 变量相关 ​ {%%} 逻辑相关 ​ 前端获取容器类型的数据统一使用 句点符(.) ​ 两种给模板传递值的方式 return render(request,'index.html',{'name':'jason','age':'18'}) return render(request, 'index.html', locals()) # 这个方法虽然好用,但是会把后端函数所有的变量传给前端 过滤器 ​ 取消转义(**): ​ 前端: ​ |safe 取消转义 ​ 后端: ​…
通常而言,我们在用户注册成功,实际登陆之前,会发送一封电子邮件到对方的注册邮箱中,表示欢迎.进一步的还可能要求用户点击邮件中的链接,进行注册确认. 下面就让我们先看看如何在Django中发送邮件吧. 一.在Django中发送邮件 其实在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装. 首先,我们需要在项目的settings文件中配置邮件发送参数,分别如下: EMAIL_BACKEND = 'django.core.mail.backends.smtp.E…
自定义第三张表的好处:可以定义多个字段, 缺点:查询不方便(有方法解决) 1.第三张表设置外键,联合唯一(查询不方便) class Books(models.Model): name=models.CharField(max_length=32) price=models.DecimalField(max_digits=6,decimal_places=2)class Zuozhes(models.Model): name=models.CharField(max_length=32) sex=…
数据库代码块 from django.db import models from django.utils import timezone from django.contrib.auth.models import User # Create your models here. class BlogArticles(models.Model): title = models.CharField(max_length=30) author = models.ForeignKey(User,rel…