上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 53 下一页
摘要: 我们都知道Django建立的是动态网站,正常情况下,每次请求过来都经历了这样一个过程: 设想这么个场景,一个用户或者大量用户都对某个页面非常感兴趣,出现了大量实质相同的请求,如果每次请求都采取上面的流程,将出现大量的重复工作,尤其是大量无谓的数据库读写。 要解决这个问题,有很多办法,其中一个就是使用 阅读全文
posted @ 2020-05-06 11:05 哈喽哈喽111111 阅读(350) 评论(0) 推荐(0) 编辑
摘要: Django使用Python内置的logging模块实现它自己的日志系统。 如果你没有使用过logging模块,请参考Python教程中的相关章节。 直达链接《logging模块详解》。 在Python的logging模块中,主要包含下面四大金刚: Loggers: 记录器 Handlers:处理器 阅读全文
posted @ 2020-05-06 11:04 哈喽哈喽111111 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装,让我们在Django环境中可以更方便更灵活的发送邮件。 所有的功能都在django.core.mail中。 一、快速上手 两行就可以搞定一封邮件: 导入功能模块,然后发送邮件,so easy! 默认情况下,使 阅读全文
posted @ 2020-05-06 11:03 哈喽哈喽111111 阅读(331) 评论(0) 推荐(0) 编辑
摘要: Django提供了一个高层次的聚合内容框架,让我们创建RSS/Atom变得简单,你需要做的只是编写一个简单的Python类。 一、范例 要创建一个feed,只需要编写一个Feed类,然后设置一条指向Feed实例的URLconf就可以了,非常简单,下面是一个示例,演示了某站点的最近五条新闻记录: 要设 阅读全文
posted @ 2020-05-06 11:02 哈喽哈喽111111 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 分页功能是几乎所有的网站上都需要提供的功能,当你要展示的条目比较多时,必须进行分页,不但能减小数据库读取数据压力,也有利于用户浏览。 Django又很贴心的为我们提供了一个Paginator分页工具,但是不幸的是,这个工具功能差了点,不好添加CSS样式,所以前端的展示效果比较丑。如果你能力够,自己编 阅读全文
posted @ 2020-05-06 11:01 哈喽哈喽111111 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 在网页应用中,我们经常需要在处理完表单或其它类型的用户输入后,显示一个通知信息给用户。 对于这个需求,Django提供了基于Cookie或者会话的消息框架messages,无论是匿名用户还是认证的用户。这个消息框架允许你临时将消息存储在请求中,并在接下来的请求(通常就是下一个请求)中提取它们并显示。 阅读全文
posted @ 2020-05-06 11:00 哈喽哈喽111111 阅读(399) 评论(0) 推荐(0) 编辑
摘要: Django的序列化工具让你可以将Django的模型‘翻译’成其它格式的数据。通常情况下,这种其它格式的数据是基于文本的,并且用于数据交换\传输过程。 一、序列化数据 Django为我们提供了一个强大的序列化工具serializers。使用它也很简单,如下所示: 首先,从djang.core导入它, 阅读全文
posted @ 2020-05-06 10:45 哈喽哈喽111111 阅读(504) 评论(0) 推荐(0) 编辑
摘要: django自带一套信号机制来帮助我们在框架的不同位置之间传递信息。也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(signals)发送给一组接受者(receivers)。 信号系统包含以下三要素: 发送者-信号的发出方 信号-信号本身 接收者-信号的接受 阅读全文
posted @ 2020-05-06 10:44 哈喽哈喽111111 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 网站地图是根据网站的结构、框架、内容,生成的导航网页,是一个网站所有链接的容器。很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎或者网络蜘蛛抓取网站页面,了解网站的架构,为网络蜘蛛指路,增加网站内容页面的收录概率。网站地图一般存放在域名根目录下并命名为sitemap,比如 。 一个 阅读全文
posted @ 2020-05-06 10:43 哈喽哈喽111111 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的、独立的。通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户。对于静态网站,这可能不是个问题,而对于动态网站,尤其是京东、天猫、银行等购物或金融网站,无法识别用户并保持 阅读全文
posted @ 2020-05-06 10:42 哈喽哈喽111111 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 我们可以通过manage.py编写和注册自定义的命令。 自定义的管理命令对于独立脚本非常有用,特别是那些使用Linux的crontab服务,或者Windows的调度任务执行的脚本。比如,你有个需求,需要定时清空某篇文章下面的评论,一种解决方案就是写一个django admin命令,再写一个运行该命令 阅读全文
posted @ 2020-05-06 10:41 哈喽哈喽111111 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 目录 一、Django内置命令选项 1. check 2. dbshell 3. diffsettings 4. flush 5. makemigrations 6. migrate 7. runserver 8. shell 9. startapp 10. startproject 11. tes 阅读全文
posted @ 2020-05-06 10:40 哈喽哈喽111111 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 在实际生产环境,Django是不可能使用SQLite这种轻量级的基于文件的数据库作为生产数据库。一般较多的会选择MySQL。 下面介绍一下如何在Django中使用MySQL数据库。 一、安装MySQL 不建议在Windows中部署MySQL,建议迁移到Linux上来。 我这里使用的是ubuntu16 阅读全文
posted @ 2020-05-06 10:39 哈喽哈喽111111 阅读(337) 评论(0) 推荐(0) 编辑
摘要: Django的默认配置文件中,包含上百条配置项目,其中很多是我们‘一辈子’都不碰到或者不需要单独配置的,这些项目在需要的时候再去查手册。 强调:配置的默认值不是在settings.py文件中! 不要以为 中的配置值就是默认值,参考前文。 是使用 命令时,额外给我们创建的。 下面介绍的是61个相对比较 阅读全文
posted @ 2020-05-06 10:38 哈喽哈喽111111 阅读(405) 评论(0) 推荐(0) 编辑
摘要: Django项目的设置文件位于项目同名目录下,名叫 。这个模块,集合了整个项目方方面面的设置属性,是项目启动和提供服务的根本保证。 一、简述 文件本质上是一个Python模块,带有模块级别的变量。 下面是一些示例设置: 注:当DEBUG为False时,必须设置 的值。 配置 时: 不允许出现Pyth 阅读全文
posted @ 2020-05-06 10:36 哈喽哈喽111111 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 前面五章,已经将Django最主要的五大系统介绍完毕,除了这些主要章节,还有很多比较重要的内容,比如开发流程相关、安全、本地化与国际化、常见工具和一些框架核心功能。这些内容的篇幅都不大,但整合起来也是Django非常重要的篇章。 我们常说Django大而全,就体现在这些方方面面,你需要的它都给你准备 阅读全文
posted @ 2020-05-06 10:35 哈喽哈喽111111 阅读(146) 评论(0) 推荐(0) 编辑
摘要: Django的admindocs应用可以从模型、视图、模板标签等地方获得文档内容。 一、概览 要激活admindocs,请按下面的步骤操作: 在 内添加 在 内添加 。确保它处于 条目之前,原因你懂的。 安装Python的docutils模块(http://docutils.sf.net/)(pip 阅读全文
posted @ 2020-05-06 10:34 哈喽哈喽111111 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 通常情况下,admin的工作模式是“选中目标,然后修改目标”,但在同时修改大量目标的时候,这种模式就变得重复、繁琐。 为此,admin提供了自定义功能函数actions的手段,可以批量对数据进行修改。admin内置了一个批量删除对象的操作,如下图所示: 下面以一个新闻应用的文章模型为例,介绍一个批量 阅读全文
posted @ 2020-05-06 10:33 哈喽哈喽111111 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 如果只是在admin中简单的展示及管理模型,那么在 模块中使用admin.site.register将模型注册一下就好了: 但是,很多时候这远远不够,我们需要对admin进行各种深度定制,以满足我们的需求。 这就要使用Django为我们提供的ModelAdmin类了。 ModelAdmin类是一个模 阅读全文
posted @ 2020-05-06 10:32 哈喽哈喽111111 阅读(710) 评论(0) 推荐(0) 编辑
摘要: Django奉行Python的内置电池哲学。它自带了一系列在Web开发中用于解决常见问题或需求的额外的、可选工具。这些工具和插件,例如 都必须在settings中的 处进行注册,有的还需要执行manage.py migrate命令,在数据库中创建一些数据表。 Admin站点是Django有别于其它W 阅读全文
posted @ 2020-05-06 10:31 哈喽哈喽111111 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 如果你正在构建一个数据库驱动的应用,那么你可能会有与Django的模型紧密映射的表单。比如,你有个BlogComment模型,并且你还想创建一个表单让大家提交评论到这个模型中。在这种情况下,写一个forms.Form类,然后在表单类中定义字段,这种一般创建表单的做法是冗余的,因为你已经在ORM模型m 阅读全文
posted @ 2020-05-06 10:30 哈喽哈喽111111 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 不要将Widget与表单的fields字段混淆。表单字段负责验证输入并直接在模板中使用。而Widget负责渲染网页上HTML表单的输入元素和提取提交的原始数据。widget是字段的一个内在属性,用于定义字段在浏览器的页面里以何种HTML元素展现。 一、指定使用的widget 每个字段都有一个默认的w 阅读全文
posted @ 2020-05-06 10:29 哈喽哈喽111111 阅读(251) 评论(0) 推荐(0) 编辑
摘要: Field.clean(value)[source] 虽然表单字段的Field类主要使用在Form类中,但也可以直接实例化它们来使用,以便更好地了解它们是如何工作的。每个Field的实例都有一个clean()方法,它接受一个参数,然后返回“清洁的”数据或者抛出一个 异常: 这个clean方法经常被我 阅读全文
posted @ 2020-05-06 10:28 哈喽哈喽111111 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 声明:以下的Form、表单等术语都指的的广义的Django表单。 Form要么是绑定了数据的,要么是未绑定数据的。 如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单。如果未绑定,则无法进行验证(因为没有数据可以验证!),但它仍然可以以HTML形式呈现空白表单。 表单类原型: 阅读全文
posted @ 2020-05-06 10:27 哈喽哈喽111111 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 假设你想从表单接收用户名数据,一般情况下,你需要在HTML中手动编写一个如下的表单元素: /your name/ POST 和一个发送按钮‘submit’,以及最关键的接收用户输入的``元素。具体的更多HTML语言相关内容,请自行学习。 一、编写表单类 我们可以通过Django提供的Form类来自用 阅读全文
posted @ 2020-05-06 10:26 哈喽哈喽111111 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 一、HTML表单概述 Django开发的是动态Web服务,而非单纯提供静态页面。动态服务的本质在于和用户进行互动,接收用户的输入,根据输入的不同,返回不同的内容给用户。返回数据是我们服务器后端做的,而接收用户输入就需要靠HTML表单。表单 可以收集其内部标签中的用户输入,然后将数据发送到服务端。 一 阅读全文
posted @ 2020-05-06 10:25 哈喽哈喽111111 阅读(183) 评论(0) 推荐(0) 编辑
摘要: Django虽然为我们内置了二十多种标签和六十多种过滤器,但是需求是各种各样的,总有一款你cover不到。Django为我们提供了自定义的机制,可以通过使用Python代码,自定义标签和过滤器来扩展模板引擎,然后使用{% load %}标签。 一、前置步骤 Django对于自定义标签和过滤器是有前置 阅读全文
posted @ 2020-05-06 10:24 哈喽哈喽111111 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 一些Django的‘奇技淫巧’就存在于这些不起眼的地方。 为了提高模板系统对人类的友好性,Django在 中提供了一系列的模板过滤器,有助于为数据展示添加“人文关怀”。 需要把 添加到 设置中来激活这些过滤器。然后在模板中使用 标签,就可以使用下面的过滤器了。 一、 apnumber 对于数字1~9 阅读全文
posted @ 2020-05-06 10:23 哈喽哈喽111111 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 国际化标签和过滤器 Django还提供了一些模板标签和过滤器,用以控制模板中国际化的每个方面。它们允许对翻译,格式化和时区转换进行粒度控制。 1. i18n 此标签允许在模板中指定可翻译文本。要启用它,请将 设置为True,然后加载 。 2. l10n 此标签提供对模板的本地化控制,只需要使用 。通 阅读全文
posted @ 2020-05-06 10:22 哈喽哈喽111111 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Django内置标签总览 可以查询下表来总览Django的内置标签: | 标签 | 说明 | | | | | autoescape | 自动转义开关 | | block | 块引用 | | comment | 注释 | | csrf_token | CSRF令牌 | | cycle | 循环对象的值 阅读全文
posted @ 2020-05-06 10:20 哈喽哈喽111111 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 本节将介绍Django模版系统的语法。Django模版语言致力于在性能和简单性上取得平衡。 如果你有过其它编程背景,或者使用过一些在HTML中直接混入程序代码的语言,那么你需要记住,Django的模版系统并不是简单的将Python嵌入到HTML中。 一、模板 模版是纯文本文件,可以生成任何基于文本的 阅读全文
posted @ 2020-05-06 10:19 哈喽哈喽111111 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 每一个Web框架都需要一种很便利的方法用于动态生成HTML页面。 最常见的做法是使用模板。 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插入静态部分。 说白了,模板层就是如何往HTML文件中填入动态内容的系统。 Django可以配置一个或多个模板引擎(语言),也可以不用 阅读全文
posted @ 2020-05-06 10:17 哈喽哈喽111111 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 可以通过开源的Python PDF库 来实现PDF文件的动态生成。 一、安装ReportLab ReportLab库在PyPI上提供,可以使用pip来安装: 在Python交互解释器中导入它来测试安装: 如果没有抛出任何错误,证明已安装成功。 二、编写视图 ReportLab的API可以处理于类似于 阅读全文
posted @ 2020-05-06 10:16 哈喽哈喽111111 阅读(458) 评论(0) 推荐(0) 编辑
摘要: CSV (Comma Separated Values),以纯文本形式存储数字和文本数据的存储方式。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。 阅读全文
posted @ 2020-05-06 10:15 哈喽哈喽111111 阅读(276) 评论(0) 推荐(0) 编辑
摘要: Django在处理文件上传时,文件数据被打包封装在request.FILES中。 一、简单上传 首先,写一个form模型,它必须包含一个FileField: 处理这个表单的视图将在 中收到文件数据,可以用 来获取上传文件的具体数据,其中的键值‘file’是根据 的变量名来的。 注意: 只有在请求方法 阅读全文
posted @ 2020-05-06 10:14 哈喽哈喽111111 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 类定义:class HttpResponse[source] HttpResponse类定义在django.http模块中。 HttpRequest对象由Django自动创建,而HttpResponse对象则由程序员手动创建. 我们编写的每个视图都要实例化、填充和返回一个HttpResponse对象 阅读全文
posted @ 2020-05-06 10:13 哈喽哈喽111111 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 类的原型:class QueryDict[source] 在HttpRequest对象中,GET和POST属性都是一个 的实例。也就是说你可以按本文下面提供的方法操作request.POST和request.GET。 request.POST或request.GET的QueryDict都是不可变,只 阅读全文
posted @ 2020-05-06 10:12 哈喽哈喽111111 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 每当一个用户请求发送过来,Django将HTTP数据包中的相关内容,打包成为一个HttpRequest对象,并传递给每个视图函数作为第一位置参数,也就是request,供我们调用。 HttpRequest对象中包含了非常多的重要的信息和数据,应该熟练掌握它。 类定义:class HttpReques 阅读全文
posted @ 2020-05-06 10:11 哈喽哈喽111111 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 视图函数,简称视图,本质上是一个简单的Python函数,它接受Web请求并且返回Web响应。 响应的内容可以是HTML网页、重定向、404错误,XML文档或图像等任何东西。但是,无论视图本身是个什么处理逻辑,最好都返回某种响应。 视图函数的代码写在哪里也无所谓,只要它在你的Python目录下面。但是 阅读全文
posted @ 2020-05-06 10:10 哈喽哈喽111111 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 一、反向解析URL 在实际的Django项目中,经常需要获取某条URL,为生成的内容配置URL链接。 比如,我要在页面上展示一列文章列表,每个条目都是个超级链接,点击就进入该文章的详细页面。 现在我们的urlconf是这么配置的: 在前端中,这就需要为HTML的 http://www.xxx.com 阅读全文
posted @ 2020-05-06 10:09 哈喽哈喽111111 阅读(265) 评论(0) 推荐(0) 编辑
上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 53 下一页