随笔分类 -  django篇

摘要:在前面教程中小编我已经介绍了Django的Queryset特性及高级使用技巧,今天我们再来学习两个非常重要的查询方法select_related和prefetch_related方法,看看如何使用它们避免不必要的数据库查询。高手过招,只差分毫。专业和业余之前的区别就在细节的处理上。为了让大家更直观地 阅读全文
posted @ 2020-05-26 00:06 zyling_me 阅读(726) 评论(1) 推荐(0)
摘要:web服务交互 我们在浏览器中能看到的每个网站,都是一个web服务。那么我们在提供每个web服务的时候, 都需要前后端交互,前后端交互就一定有一些实现方案,我们通常叫web服务交互方案。 目前主流的三种web服务交互方案: -- REST ( Representational State Trans 阅读全文
posted @ 2020-05-06 20:14 zyling_me 阅读(108) 评论(0) 推荐(0)
摘要:一、缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者memcache中之 阅读全文
posted @ 2020-05-05 20:31 zyling_me 阅读(156) 评论(0) 推荐(0)
摘要:Dajngo admin使用 admin app Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: settings.py中 INSTALLED_ 阅读全文
posted @ 2020-05-05 18:55 zyling_me 阅读(259) 评论(1) 推荐(0)
摘要:信号 Django 提供一个“信号分发器”,允许解耦的应用在框架的其它地方发生操作时会被通知到。 简单来说,信号允许特定的sender通知一组receiver某些操作已经发生。 这在多处代码和同一事件有关联的情况下很有用。 内置信号 模型信号 django.db.models.signals模块定义 阅读全文
posted @ 2020-05-05 18:36 zyling_me 阅读(158) 评论(0) 推荐(0)
摘要:# 日志的配置项 LOGGING = { 'version': 1, # 保留字默认就是1 'disable_existing_loggers': False, # 是否禁用Django框架开发的时候已经存在的logger实例 'formatters': { # 格式化器 'standard': { 阅读全文
posted @ 2020-05-05 16:58 zyling_me 阅读(135) 评论(0) 推荐(0)
摘要:Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。 Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统--auth, 阅读全文
posted @ 2020-05-05 16:46 zyling_me 阅读(173) 评论(0) 推荐(0)
摘要:Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息 阅读全文
posted @ 2020-05-05 13:50 zyling_me 阅读(160) 评论(0) 推荐(0)
摘要:前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。 学完今天的内容之后呢,我们就可以用更适宜的方式来实现类似给所有请求都做 阅读全文
posted @ 2020-05-05 13:38 zyling_me 阅读(97) 评论(0) 推荐(0)
摘要:cookie Cookie的由来 大家都知道HTTP协议是无状态的。 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。 一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全 阅读全文
posted @ 2020-05-05 08:59 zyling_me 阅读(124) 评论(0) 推荐(0)
摘要:一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个 阅读全文
posted @ 2020-05-05 08:33 zyling_me 阅读(134) 评论(0) 推荐(0)
摘要:Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中 阅读全文
posted @ 2020-05-04 22:52 zyling_me 阅读(119) 评论(0) 推荐(0)
摘要:Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。 你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。 URLc 阅读全文
posted @ 2020-05-04 16:58 zyling_me 阅读(113) 评论(0) 推荐(0)
摘要:Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它 阅读全文
posted @ 2020-05-04 16:48 zyling_me 阅读(136) 评论(0) 推荐(0)
摘要:Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}。 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}。 当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身。 变量的命名包括任何字母数字 阅读全文
posted @ 2020-05-01 22:59 zyling_me 阅读(89) 评论(0) 推荐(0)
摘要:Django框架简介 MVC框架和MTV框架(了解即可) MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具有耦合性低、重用性高、生命周期成本低等优点。 想要更 阅读全文
posted @ 2020-05-01 22:23 zyling_me 阅读(117) 评论(0) 推荐(0)
摘要:装饰器 此文可能是有史以来最全的关于Python装饰器的Blog了... 函数名的运用 关于函数名 函数名是⼀个变量,但它是⼀个特殊的变量。与括号配合可以执⾏函数的变量。 查看函数名的内存地址: def func(): print('呵呵') print(func) # <function func 阅读全文
posted @ 2020-05-01 22:07 zyling_me 阅读(133) 评论(0) 推荐(0)
摘要:老师信息管理 思考 三种方式创建多对多外键方式及其优缺点。 通过外键创建 class Class(models.Model): id = models.AutoField(primary_key=True) # 主键 cname = models.CharField(max_length=32) # 阅读全文
posted @ 2020-05-01 18:03 zyling_me 阅读(147) 评论(0) 推荐(0)
摘要:学生信息管理 展示学生信息 URL部分 url(r'^student_list/', app01_views.student_list, name="student_list"), 注:当前的name是要映射到views视图中的一个参数,然后穿个template模板进行渲染的 视图部分 def st 阅读全文
posted @ 2020-05-01 11:18 zyling_me 阅读(173) 评论(0) 推荐(0)
摘要:ORM版学员管理系统 班级表 表结构 class Class(models.Model): id = models.AutoField(primary_key=True) # 主键 cname = models.CharField(max_length=32) # 班级名称 first_day = 阅读全文
posted @ 2020-05-01 10:59 zyling_me 阅读(122) 评论(0) 推荐(0)