Python Django{%url%}当url带有如下参数时:url(r';^foo/<;parameter>;/$';,包括(some.url))
我没有找到任何解决方案,如何使用以下配置(使用Django1.3)在模板中获取url: url.py 现在,我尝试使用以下方法在模板中获取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
{% 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')),
)