为了完成反向解析 URL ,你需要像上面那样使用 命名 URL 模式 。用于命名 URL 的字符串可以包含任意字符,并不仅限于 Python 里合法的命名。
当命名 URL 模式时,请选择名称与其他应用名称冲突的名字。如果你命名的 URL 模式 comment
和其他应用程序做了同样的事情,reverse()
查询出的 URL 会是在项目的 urlpatterns
列表里靠后的那个。
在 URL 名称前加入前缀,可以来自app名称(比如 myapp-comment
而不是 comment
),这样可以减少冲突。
如果你想覆盖某个视图,你可以有意选择一些和应用程序 相同的URL名。比如,一个常见的案例是覆盖 LoginView
。Django 的部分和绝大多数第三方 app 假设这个视图有名叫 login
的 URL 模式。如果你有名叫 login
的自定义登录视图,reverse()
将会在 django.contrib.auth.urls
之后寻找你的自定义视图。
如果多个 URL 模式的参数不同,也可以使用相同的名称。除了 URL 名称外, reverse()
会匹配参数的数量和关键字参数的名称。路径转换器也可以引发 ValueError
表示不匹配。
当一个用户上传文件时,Django 会把文件数据传递给 upload handler —— 这是一个很小的类,它用来在上传时处理文件数据。上...
配置模板引擎是通过 TEMPLATES 进行配置。这是一个配置列表,每个引擎都有一个。默认值为空。startproject 命令生成的 ...
在请求阶段,在调用视图之前,Django 按照定义的顺序应用中间件 MIDDLEWARE,自顶向下。你可以把它想象成一个洋葱:每个中间...
让我们通过示例来学习。通过这个教程,我们将带着你创建一个基本的投票应用程序。它将由两部分组成:一个让人们查看和投票的公共...
Java Swing教程 -Java Swing FlowLayoutFlowLayout按照它们添加到容器的顺序布置组件水平,然后垂直。当水平地定位部件时,它可...
Java Swing教程 -JSplitPaneJSplitPane有一个拆分器来拆分两个组件。 分割条可以水平或垂直显示。用户可以向上/向下或向左/向右...
Java Swing教程 -Java Swing JSliderJSlider允许我们通过沿着轨道滑动旋钮从两个整数之间的值列表中选择一个值。JSlider有四个重...
MyBatis-Plus 条件构造器-AbstractWrapperhaving(String sqlHaving, Object... params)having(boolean condition...