
Django
Keruila
这个作者很懒,什么都没留下…
展开
-
去除模板中的硬编码 URL
硬编码的链接:<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>去除硬编码:硬编码和强耦合的链接,对于一个包含很多应用的项目来说,修改起来是十分困难的。然而,因为你在 polls.urls 的 url() 函数中通过 name 参数为...原创 2018-09-10 09:27:37 · 1741 阅读 · 0 评论 -
Django学习笔记
模板语言: {% ifequal str|slice: '7' 'teststr' %}:str的前7个字符和 ‘ateststr’是否equalverbose_name:指明一个易于理解和表述的对象名称。如果这个值没有设置, Django 将会使用该 model 的类名的分词形式作为他的对象表述名: CamelCase 将会转换为 camel case 。 verbose_name_pl...原创 2018-09-17 20:48:15 · 235 阅读 · 0 评论 -
Python框架Django:render()函数
必选参数:request:用于生成此响应的请求对象。template_name:要使用的模板的全名或模板名称的序列。如果给定一个序列,则将使用存在的第一个模板。有关如何查找模板的更多信息,请参见template loading documentation。可选参数:context:要添加到模板上下文的值的字典。 默认情况下,这是一个空的字典。 如果字典中的值是可调用...原创 2018-09-07 11:45:25 · 39775 阅读 · 0 评论 -
用户修改密码Django后台流程
原创 2018-09-21 21:25:07 · 520 阅读 · 0 评论 -
Django Queryset方法select_related()
select_related()返回一个带有外键关系的QuerySet,在执行查询时可以选择其他关联对象的数据,这是一个性能增强,这样可以做更复杂的查询,而且意味着以后使用外键关系不需要再次做数据库查询。下面的例子解释了普通查询和select_related()查询的区别, 下面是一个标准查询:# 访问数据库e = Entry.objects.get(id=1)# 在此访问数据...原创 2018-12-24 09:55:08 · 2248 阅读 · 0 评论 -
Django字段查找(Field lookups)
在Django中ORM访问数据库查找时,会用到一些带双下划线的操作,类似Entry.objects.filter(id__gt=4)这种。本文记录了双下划线之后的“方法”的作用和用法。学习了下官方文档,在这里总结记录下。若有不清晰的,可参考官方文档:Django2.1官方文档目录exactiexactcontainsicontainsingtgtelt...原创 2018-12-26 14:22:00 · 1205 阅读 · 0 评论 -
Django的QuerySet是“懒惰的”
“懒惰”是什么?答:创建QuerySet的动作不涉及任何数据库行为,也就是说就算你写一天的filter,只要你不用它,Django就不会运行这个查询。例如:q = Entry.objects.filter(headline__startswith="What")q = q.filter(pub_date__lte=datetime.date.today())q = q.exclu...原创 2018-12-26 14:42:20 · 508 阅读 · 0 评论 -
指定Pycharm中Django项目模板语言
原创 2018-12-28 11:51:37 · 898 阅读 · 0 评论 -
Django .first()和all[0]区别
first():返回queryset中匹配到的第一个对象,如果没有匹配到对象则为None,如果queryset没有定义排序,则按主键自动排序。all[0]:与first不同,如果没有匹配到,会报IndexError错误。first()是一个很方便的代码,相当于下面的代码:try: p = Article.objects.order_by('title', 'pub_d...原创 2018-12-18 14:00:52 · 9226 阅读 · 0 评论