Django {% url %} when urls with parameters like: url(r'^foo//$', include(some.urls))

后端 未结 2 1255
甜味超标
甜味超标 2021-01-19 06:25

i don\'t find any solution, how to get the url in template with the following configuration (using Django1.3):

urls.py

urlpatterns = pattern         


        
2条回答
  •  孤城傲影
    2021-01-19 06:56

    Yes, you can get your url like this:-

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

    But note that your url configuration should actually be like this:-

    urls.py

    urlpatterns = patterns('',
        url(r'^/foo/(?P\d+)/, include('bar.urls')),
    )
    

    bar.urls.py

    urlpatterns = patterns('',
        (r'^/bar/$, 'bar.views.index'),
        url(r'^/bar/(?P\d+)/$, 'bar.views.detail', name='bar-url'),
    )
    

    There is no foo-url unless you specifically map:-

    urls.py

    urlpatterns = patterns('',
        url(r'^/foo/(?P\d+)/$, 'another.views.foo', name='foo'),
        url(r'^/foo/(?P\d+)/, include('bar.urls')),
    )
    

    Note that $ means the end of the regular expression.

提交回复
热议问题