部署 Django
摘要:本节将介绍如何部署Django,基于下面的架构: Python3 + ubuntu 16.04 + Nginx + uWSGI + Django 1.11 首先,你得有一台ubuntu机器,真实物理机和虚拟机都行,如果是阿里云ECS主机并且带有独立公网IP,那是最好不过。 我这里和大家一样,什么都没
阅读全文
Django 国际化和本地化
摘要:所谓的国际化,是指使用不同语言的用户在访问同一个网站页面时能够看到符合其自身语言的文本页面。 国际化的基本原理是: 浏览器通过LANGUAGE_CODE在HTTP请求头中告诉网站后台服务器用户所需要的页面语言; 网站服务器在渲染页面时,根据LANGUAGE_CODE查询每个需要翻译成对应语言的文本字
阅读全文
Django与CSRF 、AJAX
摘要:CSRF(Cross-site request forgery)跨站请求伪造,是一种常见的网络攻击手段,具体内容和含义请大家自行百度。 Django为我们提供了防范CSRF攻击的机制。 一、基本使用 默认情况下,使用django-admin startproject xxx命令创建工程时,CSRF防
阅读全文
认证系统 Authentication
摘要:Django自带一个用户认证系统,用于处理用户账户、群组、许可和基于cookie的用户会话。 Django的认证系统包含了身份验证和权限管理两部分。简单地说,身份验证用于核实某个用户是否合法,权限管理则是决定一个合法用户具有哪些权限。往后,‘认证’这个词同时代指上面两部分的含义。 Django的认证
阅读全文
Django与缓存
摘要:我们都知道Django建立的是动态网站,正常情况下,每次请求过来都经历了这样一个过程: 接收请求 -> url路由 -> 视图处理 -> 数据库读写 -> 视图处理 -> 模版渲染 -> 返回请求 设想这么个场景,一个用户或者大量用户都对某个页面非常感兴趣,出现了大量实质相同的请求,如果每次请求都采
阅读全文
Django 日志
摘要:Django使用Python内置的logging模块实现它自己的日志系统。 如果你没有使用过logging模块,请参考Python教程中的相关章节。 直达链接《logging模块详解》。 在Python的logging模块中,主要包含下面四大金刚: Loggers: 记录器 Handlers:处理器
阅读全文
Django - 发送邮件
摘要:在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装,让我们在Django环境中可以更方便更灵活的发送邮件。 所有的功能都在django.core.mail中。 一、快速上手 两行就可以搞定一封邮件: from django.core.mail import s
阅读全文
Django - 聚合内容 RSS/Atom
摘要:Django提供了一个高层次的聚合内容框架,让我们创建RSS/Atom变得简单,你需要做的只是编写一个简单的Python类。 一、范例 要创建一个feed,只需要编写一个Feed类,然后设置一条指向Feed实例的URLconf就可以了,非常简单,下面是一个示例,演示了某站点的最近五条新闻记录: fr
阅读全文
分页 Paginator
摘要:分页功能是几乎所有的网站上都需要提供的功能,当你要展示的条目比较多时,必须进行分页,不但能减小数据库读取数据压力,也有利于用户浏览。 Django又很贴心的为我们提供了一个Paginator分页工具,但是不幸的是,这个工具功能差了点,不好添加CSS样式,所以前端的展示效果比较丑。如果你能力够,自己编
阅读全文
使用MySQL数据库
摘要:在实际生产环境,Django是不可能使用SQLite这种轻量级的基于文件的数据库作为生产数据库。一般较多的会选择MySQL。 下面介绍一下如何在Django中使用MySQL数据库。 一、安装MySQL 不建议在Windows中部署MySQL,建议迁移到Linux上来。 我这里使用的是ubuntu16
阅读全文
django-admin和manage.py
摘要:目录 一、Django内置命令选项 二、app提供的命令 三、 共有参数 四、颜色控制 五、在代码中调用管理命令 django-admin是用于管理Django的命令行工具集,当我们成功安装Django后,在操作系统中就会有这个命令,但是根据安装方式或者系统环境的不同,你可能需要配置一下调用路径。在
阅读全文
自定义django-admin命令
摘要:我们可以通过manage.py编写和注册自定义的命令。 自定义的管理命令对于独立脚本非常有用,特别是那些使用Linux的crontab服务,或者Windows的调度任务执行的脚本。比如,你有个需求,需要定时清空某篇文章下面的评论,一种解决方案就是写一个django-admin命令,再写一个运行该命令
阅读全文
网站地图sitemap
摘要:网站地图是根据网站的结构、框架、内容,生成的导航网页,是一个网站所有链接的容器。很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎或者网络蜘蛛抓取网站页面,了解网站的架构,为网络蜘蛛指路,增加网站内容页面的收录概率。网站地图一般存放在域名根目录下并命名为sitemap,比如http:
阅读全文
会话session
摘要:因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的、独立的。通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户。对于静态网站,这可能不是个问题,而对于动态网站,尤其是京东、天猫、银行等购物或金融网站,无法识别用户并保持
阅读全文
信号 signal
摘要:django自带一套信号机制来帮助我们在框架的不同位置之间传递信息。也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(signals)发送给一组接受者(receivers)。 信号系统包含以下三要素: 发送者-信号的发出方 信号-信号本身 接收者-信号的接受
阅读全文
序列化 serializers
摘要:Django的序列化工具让你可以将Django的模型‘翻译’成其它格式的数据。通常情况下,这种其它格式的数据是基于文本的,并且用于数据交换\传输过程。 一、序列化数据 Django为我们提供了一个强大的序列化工具serializers。使用它也很简单,如下所示: from django.core i
阅读全文
消息框架 message
摘要:在网页应用中,我们经常需要在处理完表单或其它类型的用户输入后,显示一个通知信息给用户。 对于这个需求,Django提供了基于Cookie或者会话的消息框架messages,无论是匿名用户还是认证的用户。这个消息框架允许你临时将消息存储在请求中,并在接下来的请求(通常就是下一个请求)中提取它们并显示。
阅读全文
django - url
摘要:url()方法: url()方法可以接收4个参数,其中2个是必须的:regex和view,以及2个可选的参数:kwargs和name。 regex: regex是正则表达式的通用缩写,它是一种匹配字符串或url地址的语法。Django拿着用户请求的url地址,在urls.py文件中对urlpatte
阅读全文
Django
摘要:Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。 基本配置 一、创建django程序 终端命令:django-admin startproject
阅读全文