zoukankan      html  css  js  c++  java
  • 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+)),这个错误,检查正则表达式
    

      

      

      

  • 相关阅读:
    Android — Camera聚焦流程
    Camera.Parameters 参数
    Android 中的 Service 全面总结
    android中Camera setDisplayOrientation使用
    Android动画学习笔记-Android Animation
    mediaplayer与surfaceView,无法播放问题
    android错误之MediaPlayer用法的Media Player called in state *,androidmediaplayer
    转:Android应用开发性能优化完全分析
    Android开发者指南(9) —— ProGuard
    计算机科学图书待读
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/7440744.html
Copyright © 2011-2022 走看看