Python Django{%url%}当url带有如下参数时:url(r';^foo/<;parameter>;/$';,包括(some.url))

Python Django{%url%}当url带有如下参数时:url(r';^foo/<;parameter>;/$';,包括(some.url)),python,django,django-templates,Python,Django,Django Templates,我没有找到任何解决方案,如何使用以下配置(使用Django1.3)在模板中获取url: url.py 现在,我尝试使用以下方法在模板中获取url: {% url bar-url parameter=1 parameter2=2 %} 我希望得到:/bar/1/foo/2/ 在这种情况下可以使用{%url%}吗?是的,您可以这样获得url:- {% url 'bar-url' 1 2 %} 但请注意,您的url配置实际上应该如下所示:- {% url 'bar-url' 1 2 %} url

我没有找到任何解决方案,如何使用以下配置(使用Django1.3)在模板中获取url:

url.py

现在,我尝试使用以下方法在模板中获取url:

{% url bar-url parameter=1 parameter2=2 %}
我希望得到:/bar/1/foo/2/


在这种情况下可以使用{%url%}吗?

是的,您可以这样获得url:-

{% url 'bar-url' 1 2 %}
但请注意,您的url配置实际上应该如下所示:-

{% url 'bar-url' 1 2 %}
url.py


请注意,
$
表示正则表达式的结尾。

我通常为包含的URL设置名称空间以简化过程:

在根模式中

url(r“^articles/”,包括('articles.url',namespace='articles')

在articles/url.py中

url(r'^(\d+/$),'read',name='read')

url(r“^publish/$”,“publish”,name='publish')

然后在模板中,您可以简单地键入:

{%url文章:读取1%}

或 {%url文章:发布%}


更多信息。

谢谢你的提示。我现在让它工作了。我在url标记中设置参数时犯了一些错误。我使用的是1.3版,因此
{%url bar url 1 2%}
可以工作。我尝试使用名称空间,但它似乎无法使用包含的url.py之前的参数。看见
{% url bar-url parameter=1 parameter2=2 %}
{% url 'bar-url' 1 2 %}
urlpatterns = patterns('',
    url(r'^/foo/(?P<parameter>\d+)/, include('bar.urls')),
)
urlpatterns = patterns('',
    (r'^/bar/$, 'bar.views.index'),
    url(r'^/bar/(?P<parameter2>\d+)/$, 'bar.views.detail', name='bar-url'),
)
urlpatterns = patterns('',
    url(r'^/foo/(?P<parameter>\d+)/$, 'another.views.foo', name='foo'),
    url(r'^/foo/(?P<parameter>\d+)/, include('bar.urls')),
)