如何在没有视图的情况下为通用模板创建URL?

时间:2011-05-19 09:31:04

标签: python django

我正在使用{% url path_to_view %}在我的应用程序中生成链接。当我需要使用direct_to_template使用几个没有视图的静态页面时,我遇到了这种情况。通常,如果我只有一个这样的页面,我可以使用{% url direct_to_template %}生成指向它的链接,但是有更多网址指向此视图,{% url direct_to_template %}始终指向urls.py中的最后一个

是否可以使用{% url %}语法直接指向某个模板?或者即使我真的不需要它,也是使用视图的唯一选择?

2 个答案:

答案 0 :(得分:3)

使用named urls。 如果你有

url(regex=r'path/$', view=view_name, name='my_url'),

他们可以使用{% url my_url %}来获取它。

答案 1 :(得分:1)

如果你有django 1.3使用类base通用视图,你应该至少创建一个url模式

url.py

from django.views.generic import TemplateView

urlpatterns = patterns('',
    url(r'^path/to/something/$', TemplateView.as_view(template_name="your_temlate.html"), name="something" ),
    url(r'^path/to/something/else/$', TemplateView.as_view(template_name="your_temlate_else.html"), name="something_else" ),
)

模板:

<a href="{% url something %}">Link to something</a>
<a href="{% url something_else %}">Link to something else</a>