随笔分类 - Django
摘要:分页功能是几乎所有的网站上都需要提供的功能,当你要展示的条目比较多时,必须进行分页,不但能减小数据库读取数据压力,也有利于用户浏览。 Django又很贴心的为我们提供了一个Paginator分页工具,但是不幸的是,这个工具功能差了点,不好添加CSS样式,所以前端的展示效果比较丑。如果你能力够,自己编
阅读全文
摘要:在网页应用中,我们经常需要在处理完表单或其它类型的用户输入后,显示一个通知信息给用户。 对于这个需求,Django提供了基于Cookie或者会话的消息框架messages,无论是匿名用户还是认证的用户。这个消息框架允许你临时将消息存储在请求中,并在接下来的请求(通常就是下一个请求)中提取它们并显示。
阅读全文
摘要:django自带一套信号机制来帮助我们在框架的不同位置之间传递信息。也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(signals)发送给一组接受者(receivers)。 信号系统包含以下三要素: 发送者-信号的发出方 信号-信号本身 接收者-信号的接受
阅读全文
摘要:Django的序列化工具让你可以将Django的模型‘翻译’成其它格式的数据。通常情况下,这种其它格式的数据是基于文本的,并且用于数据交换\传输过程。 一、序列化数据 Django为我们提供了一个强大的序列化工具serializers。使用它也很简单,如下所示: from django.core i
阅读全文
摘要:网站地图是根据网站的结构、框架、内容,生成的导航网页,是一个网站所有链接的容器。很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎或者网络蜘蛛抓取网站页面,了解网站的架构,为网络蜘蛛指路,增加网站内容页面的收录概率。网站地图一般存放在域名根目录下并命名为sitemap,比如http:
阅读全文
摘要:我们可以通过manage.py编写和注册自定义的命令。 自定义的管理命令对于独立脚本非常有用,特别是那些使用Linux的crontab服务,或者Windows的调度任务执行的脚本。比如,你有个需求,需要定时清空某篇文章下面的评论,一种解决方案就是写一个django-admin命令,再写一个运行该命令
阅读全文
摘要:因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的、独立的。通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户。对于静态网站,这可能不是个问题,而对于动态网站,尤其是京东、天猫、银行等购物或金融网站,无法识别用户并保持
阅读全文
摘要:目录 一、Django内置命令选项 二、app提供的命令 三、 共有参数 四、颜色控制 五、在代码中调用管理命令 django-admin是用于管理Django的命令行工具集,当我们成功安装Django后,在操作系统中就会有这个命令,但是根据安装方式或者系统环境的不同,你可能需要配置一下调用路径。在
阅读全文
摘要:在实际生产环境,Django是不可能使用SQLite这种轻量级的基于文件的数据库作为生产数据库。一般较多的会选择MySQL。 下面介绍一下如何在Django中使用MySQL数据库。 一、安装MySQL 不建议在Windows中部署MySQL,建议迁移到Linux上来。 我这里使用的是ubuntu16
阅读全文
摘要:Django的默认配置文件中,包含上百条配置项目,其中很多是我们‘一辈子’都不碰到或者不需要单独配置的,这些项目在需要的时候再去查手册。 强调:配置的默认值不是在settings.py文件中!不要以为settings.py中的配置值就是默认值,参考前文。settings.py是使用django-ad
阅读全文
摘要:Django项目的设置文件位于项目同名目录下,名叫settings.py。这个模块,集合了整个项目方方面面的设置属性,是项目启动和提供服务的根本保证。 一、简述 settings.py文件本质上是一个Python模块,带有模块级别的变量。 下面是一些示例设置: ALLOWED_HOSTS = ['w
阅读全文
摘要:Django的admindocs应用可以从模型、视图、模板标签等地方获得文档内容。 一、概览 要激活admindocs,请按下面的步骤操作: 在INSTALLED_APPS内添加django.contrib.admindocs 在urlpatterns内添加url(r'^admin/doc/',in
阅读全文
摘要:通常情况下,admin的工作模式是“选中目标,然后修改目标”,但在同时修改大量目标的时候,这种模式就变得重复、繁琐。 为此,admin提供了自定义功能函数actions的手段,可以批量对数据进行修改。admin内置了一个批量删除对象的操作,如下图所示: 下面以一个新闻应用的文章模型为例,介绍一个批量
阅读全文
摘要:如果只是在admin中简单的展示及管理模型,那么在admin.py模块中使用admin.site.register将模型注册一下就好了: from django.contrib import admin from myproject.myapp.models import Author admin.
阅读全文
摘要:如果你正在构建一个数据库驱动的应用,那么你可能会有与Django的模型紧密映射的表单。比如,你有个BlogComment模型,并且你还想创建一个表单让大家提交评论到这个模型中。在这种情况下,写一个forms.Form类,然后在表单类中定义字段,这种一般创建表单的做法是冗余的,因为你已经在ORM模型m
阅读全文
摘要:不要将Widget与表单的fields字段混淆。表单字段负责验证输入并直接在模板中使用。而Widget负责渲染网页上HTML表单的输入元素和提取提交的原始数据。widget是字段的一个内在属性,用于定义字段在浏览器的页面里以何种HTML元素展现。 一、指定使用的widget 每个字段都有一个默认的w
阅读全文
摘要:Field.clean(value)[source] 虽然表单字段的Field类主要使用在Form类中,但也可以直接实例化它们来使用,以便更好地了解它们是如何工作的。每个Field的实例都有一个clean()方法,它接受一个参数,然后返回“清洁的”数据或者抛出一个django.forms.Valid
阅读全文
摘要:声明:以下的Form、表单等术语都指的的广义的Django表单。 Form要么是绑定了数据的,要么是未绑定数据的。 如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单。如果未绑定,则无法进行验证(因为没有数据可以验证!),但它仍然可以以HTML形式呈现空白表单。 表单类原型:
阅读全文
摘要:假设你想从表单接收用户名数据,一般情况下,你需要在HTML中手动编写一个如下的表单元素: <form action="/your-name/" method="post"> <label for="your_name">Your name: </label> <input id="your_name
阅读全文
摘要:Django虽然为我们内置了二十多种标签和六十多种过滤器,但是需求是各种各样的,总有一款你cover不到。Django为我们提供了自定义的机制,可以通过使用Python代码,自定义标签和过滤器来扩展模板引擎,然后使用{% load %}标签。 一、前置步骤 Django对于自定义标签和过滤器是有前置
阅读全文

浙公网安备 33010602011771号