-
日期:2021-12-08 14:54:31
点击:59
内容简介:为了给你的对像添加一个行级功能,那就定义一个自定义方法。 有鉴于manager经常被用来用一些整表操作(table-wide),模型方法应该只对特殊模型实例起作用。 这是一项在模型的一个地方集中业务逻辑的技术。 最好用例子来解释一下。 这个模型有一些自定义方法...
-
日期:2021-12-08 14:54:31
点击:59
内容简介:我们最终的视图技巧利用了一个高级python技术。 假设你发现自己在各个不同视图里重复了大量代码,就像 这个例子: def my_view1(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login/') # ... return render_t...
-
日期:2021-12-08 14:54:30
点击:59
内容简介:编写模板节点 编写自定义标签的第二步就是定义一个拥有 render() 方法的 Node 子类。 继续前面的例子,我们需要定义 CurrentTimeNode : import datetimeclass CurrentTimeNode(template.Node): def __init__(self, format_string): self.format_string = st...
-
日期:2021-12-08 14:54:30
点击:59
内容简介:在语句Book.objects.all()中,objects是一个特殊的属性,需要通过它查询数据库。 在第5章,我们只是简要地说这是模块的manager 。现在是时候深入了解managers是什么和如何使用了。 总之,模块manager是一个对象,Django模块通过它进行数据库查询。 每个Djang...
-
日期:2021-12-08 14:54:30
点击:59
内容简介:说到关于请求方法的分支,让我们来看一下可以用什么好的方法来实现它。 考虑这个 URLconf/view 设计: # urls.pyfrom django.conf.urls.defaults import *from mysite import viewsurlpatterns = patterns('', # ... (r'^somepage/$', views.some_page), # .....
-
日期:2021-12-08 14:54:29
点击:59
内容简介:当遇到一个模板标签(template tag)时,模板解析器就会把标签包含的内容,以及模板解析器自己作为参数调用一个python函数。 这个函数负责返回一个和当前模板标签内容相对应的节点(Node)的实例。 例如,写一个显示当前日期的模板标签:{% current_time %}...
-
日期:2021-12-08 14:54:29
点击:59
内容简介:删除字段 从Model中删除一个字段要比添加容易得多。 删除字段,仅仅只要以下几个步骤: 删除字段,然后重新启动你的web服务器。 用以下命令从数据库中删除字段: ALTER TABLE books_book DROP COLUMN num_pages; 请保证操作的顺序正确。 如果你先从数据库中...
-
日期:2021-12-08 14:54:29
点击:59
内容简介:每个被捕获的参数将被作为纯Python字符串来发送,而不管正则表达式中的格式。 举个例子,在这行URLConf中: (r'^articles/(Pyear\d{4})/$', views.year_archive), 尽管 \d{4} 将只匹配整数的字符串,但是参数 year 是作为字符串传至 views.year_archive() 的...
-
日期:2021-12-08 14:54:28
点击:59
内容简介:为了自定义一个模板标签,你需要告诉Django当遇到你的标签时怎样进行这个过程。 当Django编译一个模板时,它将原始模板分成一个个 节点 。每个节点都是 django.template.Node 的一个实例,并且具备 render() 方法。 于是,一个已编译的模板就是 节点 对象的...
-
日期:2021-12-08 14:54:28
点击:59
内容简介:首先借用书本(book)的这个数据模型: from django.db import modelsclass Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = models.C...