Django flatpages поймать все - PullRequest
       0

Django flatpages поймать все

1 голос
/ 20 марта 2020

Я использую шаблон catch all для плоских страниц в Django, например: -

urlpatterns = [
    path('somepath/', include('project.somepathapp.urls')),
    path('anotherpath/', include('project.anotherpathapp.urls')),
    etc.
]

urlpatterns += [
    path('<path:url>/', views.flatpage),
]

В моем шаблоне я использую: -

<a href="/about-us/">About Us</a>

, чтобы добраться до О плоской странице. Но шаблон URL удаляет последний элемент sh и передает просмотр плоской страницы URL / about-us (в отличие от / about-us /). Затем при просмотре плоской страницы URL-адрес не заканчивается на sla sh, добавляется обратно, находит страницу и перенаправляет на этот URL , но добавляет дополнительный sla sh, чтобы URL-адрес is / about-us //

Если я удаляю последний шаблон sla sh из шаблона catch all, любой URL из основных путей (somepath / и anotherpath /) без конечного sla sh будет в соответствии с шаблоном catch all до используется APPEND_SLA SH, и, поскольку нет страницы с этим URL, пользователь получает 404. Таким образом, URL, такой как / somepath /, будет работать, но / somepath выиграл '. 1013

Что я сделал не так? Это похоже на уловку-22 для меня. Я не могу использовать опцию промежуточного программного обеспечения, потому что это не всегда проходит через другие представления промежуточного программного обеспечения, поэтому я застрял.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...