Skip to main content
 首页 » 编程设计

python之Django 命名空间 URL 和参数

2025年05月04日45Terrylee

我在 Django 中遇到了一个关于命名空间 url 的奇怪问题,当它处理更简单的示例并使用

时,我找不到我做错了什么

基本上,我的项目由两个应用组成,用户和模型。在我的通用 urls.py 中,我定义了:

url(r'^model/', include('model.urls', namespace="model")), 
url(r'^user/', include('user.urls', namespace="user")), 

在 user.urls.py 文件中,我定义了以下 url:

url(r'^duo/(?P<pseudo>[a-z]+)/$',views.duo, name='duo'), 

duo View 相当简单:

def duo(request,pseudo): 
     print pseudo 
     return render(request,"user/duo.html",locals()) 

因此,当我在模板中使用时:

{% url 'user:duo' lena %} 

我希望 url 被解析为/user/duo/lena。相反,我得到了以下 NoReverseMatch:

 Reverse for 'duo' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'user/duo/(?P<pseudo>[a-z]+)/$'] 

我会采取任何猜测来纠正我的错误!

请您参考如下方法:

好的,Pynchia和 Bernhard评论帮助我修复我的错误!现在,我正在使用

"{% url 'user:duo' "lena" %}" 

在我的模板中,它运行顺利!非常感谢你!