Django Flatpage Catchall URLConf和`url` Templatetag的名称

时间:2020-09-29 17:29:12

标签: django templatetags urlconf django-flatpages

我已经在这两种扁平化URL模式之间来回移动了:

urlpatterns += [
    # path('about', views.flatpage, {'url': '/about'}, name='about'),
    re_path(r'^(?P<url>.*)$', views.flatpage),
]

使用显式path时,可以在模板中使用name,如下所示:

<a href="{% url 'about' %}">About</a>

但是在使用包包时,我无法弄清楚这是否可行。我有很多平板(可能是十几个或更多,以后可能还会添加更多),因此拥有包包是一个有吸引力的选择。但是,我非常喜欢能够使用url templatetag。

我能兼得两全吗?

我应该注意,我可以做到,但似乎无法解决我的担忧:

urlpatterns += [
    re_path(r'^(?P<url>.*)$', views.flatpage, name='flatpage'),
]

. . .

<a href="{% url 'flatpage' url='about' %}">About</a>

如果我要这样做,似乎我还是应该对URL进行硬编码:

<a href="/about">About</a>

0 个答案:

没有答案