随笔分类 - Django框架
摘要:简而言之,就是__str__和__unicode__都是为了再管理站点中加载这个表时想显示什么属性,当然一般都是显示一个name,大体来讲是通用的。下面是抄的csdn上面的一篇文章。 str()是Python的一个“魔幻”方法,这个方法定义了当object调用str()时应该返回的值。Django在
阅读全文
摘要:{% for k, v in data.items %} {{ k }}: {{ v }} {% endfor %} 这里假设data.items这个列表类似:[ [a,b],[c,d],[e,f]......]这种类型。那么我们可以使用{% for key, value in data.items
阅读全文
摘要:第6章介绍了Django的admin界面,现在是回过头来仔细看看这个的时候了 我们前面讲的几次admin是Django的"杀手级特性",并且大多数Django开发人员很快爱上了它节省时间的所有特性 这样自然而然的大部分Django开发人员开始寻找自定义或者扩展admin的方法 第6章最后几部分讲到了
阅读全文
摘要:Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件,函数列举如下 FTP.quit()与FTP.close()的区别 FTP.quit():发送QUIT命令给服务器并关闭掉连接。这是一个比较“缓和”的关闭连接方式,但是如果服务器对Q
阅读全文
摘要:在一个 models 中使用 FileField 或 ImageField 需要以下步骤: 1. 在你的 settings 文件中, 定义一个完整路径给MEDIA_ROOT 以便让 Django在此处保存上传文件. (出于性能考虑,这些文件并不保存到数据库.) 定义MEDIA_URL 作为该目录的公
阅读全文
摘要:F()允许Django在未实际链接数据的情况下具有对数据库字段的值的引用。通常情况下我们在更新数据时需要先从数据库里将原数据取出后方在内存里,然后编辑某些属性,最后提交。例如这样 # Tintin filed a news story! reporter = Reporters.objects.ge
阅读全文
摘要:Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 相当于我们创建了一个hook。 1. Django的内置信号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2
阅读全文
摘要:Django有两种方法来生成聚合。第一种方法是为整个QuerySet生成聚合值,例如为全部的books生成price的平均值: 可以简略为: 函数aggregate()的参数是一系列聚合函数aggregate functions: Avg 返回平均值 Count class Count(field,
阅读全文
摘要:在查询时发生了什么(When QuerySets are evaluated) QuerySet 可以被构造,过滤,切片,做为参数传递,这些行为都不会对数据库进行操作。只要你查询的时候才真正的操作数据库。 下面的 QuerySet 行为会导致执行查询的操作: 循环(Iteration):QueryS
阅读全文
摘要:Django 是动态网站,一般来说需要实时地生成访问的网页,展示给访问者,这样,内容可以随时变化,但是从数据库读多次把所需要的数据取出来,要比从内存或者硬盘等一次读出来 付出的成本大很多。 缓存系统工作原理: 对于给定的网址,尝试从缓存中找到网址,如果页面在缓存中,直接返回缓存的页面,如果缓存中没有
阅读全文
摘要:values返回是字典列表; values_list返回的是元组列表, values_list加上 flat=True 1 1 之后返回值列表 values_list加上 1 1 之后返回值列表
阅读全文
摘要:在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能。本文通过一个简单的例子详解这两个函数的作用。虽然QuerySet的文档中已经详细说明了,但本文试图从QuerySet触发的SQL语句来分析工作方式,从
阅读全文
摘要:数据库N+1查询是个常见的问题,简单描述场景如下 基本场景 在生成列表页面时,首先执行一次 select * from article limited 0,N 然后逐条获取category.name,又需要执行N次 select name from category where id = categ
阅读全文
摘要:安装Django 下载Django包,解压缩。 CMD 进入解压路径下。 执行:python setup.py install 增加环境变量: C:\Python27\Scripts 测试django是否安装成功 shell import django django.VERSION 把Django导
阅读全文
摘要:django表单系统中,所有的表单类都作为django.forms.Form的子类创建,包括ModelForm 关于django的表单系统,主要分两种 基于django.forms.Form 基于django.forms.ModelForm 表单API 表单有两种状态,绑定,未绑定 Form.is_
阅读全文
摘要:问题:模板中创建form表单中的下拉列表, 前台打开页面显示object,而不是值,如图: 尝试了多种办法无果,最后解决了,处理办法是修改models.py,原来的model: [python] view plain copy class TechnicistLocation(models.Mode
阅读全文
摘要:1:如果migrations文件中想要重命名文件,重命名后有一次修改models文件,再次执行pythonmanage.py makegirations ******,再次执行migrate的时候发现报错了,在我往后的时候修改models里面的内容,只能执行makegirations命令,但是执行m
阅读全文
摘要:django认证系统包含三个部分:用户、权限和分组 安装 django项目默认启用了认证系统,如果不是使用django-admin.py创建项目的可以通过在settings配置文件里面的INSTALLED_APPS的列表里面添加django.contrib.auth和django.contrib.c
阅读全文
摘要:使用auth.authenticate(username= username,passowrd=passowrd),这个用户认证时候,明明数据库中有记录,但是返回就None 我的错误点比较多: 1.我创建的用户名和密码,并没有添加到在auth_user(django自带的表)中,而是放进了通过mod
阅读全文
摘要:参考官方文档1(你懂的):http://www.django-rest-framework.org/api-guide/serializers/ 参考官方文档2(你懂的):http://www.django-rest-framework.org/tutorial/1-serialization/#i
阅读全文