Django中url使用命名空间的错误

出的错误:

  1. Reverse for ‘llist‘ with arguments ‘()‘ and keyword arguments ‘{}‘ not found. 0 pattern(s) tried: []

  2. Reverse for ‘home‘ with arguments ‘(1L,)‘ and keyword arguments ‘{}‘ not found. 1 pattern(s) tried: [u‘org/home/?P<org_id>(/d+)/$‘]

出错原因:

  1. 使用命名空间的时候,在模版渲染url时候,命名错误,渲染时候找不大该名字对应的url

  2. 在写url进行路由正则匹配的时候,正则匹配错误

如何解决

  检查用Django的URL渲染的base.html和使用该url地方, 检查命名是否和主url、app中url是否保持一致,更改一致就解决这个问题

__author__ = ‘beimenchuixue‘
__blog__ = ‘http://www.cnblogs.com/2bjiujiu/‘

# 当出了:Reverse for ‘llist‘ with arguments ‘()‘ and keyword arguments ‘{}‘ not found. 0 pattern(s) tried: []
# 假如我把所有以org开头的url都交个aap operation处理,operation中的urls模块会获得该url
# 我还还给了这个url一个命名空间 org
url(r‘^org/‘, include(‘operation.urls‘, namespace=‘org‘))

# 然后在operation中写url,并给他起名list
url(r‘^list/$‘, OrgView.as_view(), name=‘list‘)

# 那么在operation app中所有的模版中url指向这个url路由时候,都需命名一致,也就是说前面要加上org,冒号分割
# 出错时候,当出现模版继承的时候,重点检查各父模版中的url模版是否命名错误
<a href="{% url ‘org:llist‘ %}">a标签</a>

# 当发现出了 :Reverse for ‘home‘ with arguments ‘(1L,)‘ and keyword arguments ‘{}‘ not found. 1 pattern(s) tried: [u‘org/home/?P<org_id>(/d+)/$‘]
# url,后面匹配一个id,我想通过模版渲染时候,不仅仅匹配后面的数字,也通过模版渲染后面的正则表达式
url(r‘^home/?P<org_id>(/d+)/$‘, OrgHomeView.as_view(), name=‘home‘)
# template,模版渲染中传入一个参数,也就是url正则匹配的org_id值,通过模版进行渲染url
<a href="{% url ‘org:home‘ course_org.id %}">a标签</a>
# 假如course_org.id = 1 ,那么这个a标签的href = org/home/1
# 这个错误是正则写错了,应该把 ?P<org_id>(/d+) 改成 (?P<org_id>(/d+)),这个错误,检查正则表达式

  

  

  

时间: 2024-10-11 12:35:27

Django中url使用命名空间的错误的相关文章

Django中url的逆向解析 -&gt; Reverse resolution of URLs

之前的一篇文章中介绍了url的基本用法[Django的url用法] 解析的过程可以概括为URL request -> view calling 同时,django又提供了另一种解析方式 - Reverse resolution of URLs 它的解析过程为 view calling -> URL request 因为Django奉行的是DRY原则,所以使用这种方式,就无需对url地址进行硬编码.在原本需要硬编码url的地方,直接可以使用url的名字,然后逆向解析出url地址. Django提

django中url路由配置及渲染方式

今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 创建视图并访问 项目中自带的Python文件中,并没有带有视图,因此我们自己创建一个,通常,我们把视图命名views.py. 然后在views.py中,导入头文件  from django.http import HttpResponse 然后我们在views.py中,写一些Python函数,用来

django 中url与path小记

1. 在django 2.0中增加了一些新的特性 更简单的URL路由语法 (Simplified URL routing syntax) admin应用的针对移动设备的优化改进(Mobile-friendly contrib.admin) 支持SQL开窗表达式(Window expressions) 第一个特性,主要用于动态路由定义上.在Django2.0代码实现中,主要的变化是新增了 django.urls.path 函数,它允许使用一种更加简洁.可读的路由语法.比如之前的版本的代码:在dja

Django 中创建Model时报以下错误: TypeError: init() missing 1 required positional argument: ‘on_delete’

Django 中创建Model时报以下错误: TypeError: init() missing 1 required positional argument: 'on_delete' 代码如下: from django.db import models Create your models here. class Contract(models.Model): nid = models.AutoField(primary_key=True) name = models.CharField(ma

django中url,静态文件,POST请求的配置

平时使用的是pycharm,所以这篇文章主要也是使用pycharm默认创建的django项目为基础进行讲解.项目目录如下图: 1.URL的配置 当创建好项目后,运行项目就可以看到django默认的页面.那么怎么访问自己创建的页面呢? 因为django是类MVC的开发模式.这里面就涉及到配置URL的问题.创建一个自己的APP(也可以称为一个模块),包含的文件内容如下图: 然后需要在setting.py的文件INSTALLED_APPS中注册新创建的App: 新创建项目的默认url配置如下: fro

django中“url映射规则”和“服务端响应顺序”

1.django搜索路径 使用 import 语句时,Python 所查找的系统目录清单. 查看方式: import sys print sys.path 通常无需关心 Python 搜索路径的设置,Python 和 Django 会在后台自动帮你处理好. 2.url匹配模式  基本结构: '^需要匹配的url字符串$' PS:实际上最终完整的url串是http://根路径:端口号/需要匹配的url字符串 系统自动添加的部分'http://根路径:端口号/' eg:url匹配模式:'^lates

Django中url中可以使用类视图.as_view()进行映射的原因

说明:本人在学练习天天生鲜项目时,对利用类视图去与正则匹配到的url做映射有点疑惑,经过查看他人博客以及自我分析算是整明白了,所以记录一下 参考:https://www.zmrenwu.com/post/53/ HTTP发送请求的方式有很多种,这里以POST,GET为例.当在浏览器中输入url地址时(如http://127.0.0.1:8000/userr/register) 会进行正则匹配,并映射到ActiveView.as_view(),其最终达到能将注册页面显示出来的效果,原因如下: cl

Django之url上的include,URL命名和反向解析,命名空间 以及图书管理系统删除功能二合一方法

include其他的URLconfs #At any point, your urlpatterns can "include" other URLconf modules. This #essentially "roots" a set of URLs below other ones. #For example, here's an excerpt of the URLconf for the Django website itself. #It include

Django中的 动态URL配置

举个例子,一家在线书店会为每一本书提供一个URL,如:/books/243/./books/81196/. 让我们创建第三个视图来显示当前时间和加上时间偏差量的时间,设计是这样的: /time/plus/1/ 显示当前时间+1个小时的页面 /time/plus/2/ 显示当前时间+2个小时的页面 /time/plus/3/ 显示当前时间+3个小时的页面,以此类推. 新手可能会考虑写不同的视图函数来处理每个时间偏差量,URL配置看起来就象这样: urlpatterns = patterns('',