Ошибка 404 с шаблоном Path () - PullRequest
0 голосов
/ 25 июня 2018
path('add', views.TopicCreate.as_view(), name='add-topic')
]

Когда я пытаюсь запустить его (введя http://127.0.0.1:8000/home/add),, я получаю сообщение об ошибке 404 о том, что он не соответствует ни одному из шаблонов. Даже если он говорит, что здесь есть соответствующий шаблон URL.

home/ [name='index']
home/ <int:topic_id> [name='details']
home/ add [name='topic-add']
admin/

The current path, home/add/, didn't match any of these.

Странно то, что ссылка работает, когда я пробую ее в Mozilla и Google Incognito. Не работает в IE (частное окно или нет) и обычном Chrome.

полный urls.py:

app_name = "home"

urlpatterns = [
    path('', views.index, name="index"),
    path('<int:topic_id>/', views.detail, name='detail'),
    path('add', views.TopicCreate.as_view(), name='topic-add')
    ]

1 Ответ

0 голосов
/ 25 июня 2018

Я думаю, что у вас APPEND_SLASH установлено в False в ваших настройках или у вас нет CommonMiddleware в вашем промежуточном программном обеспечении.

Причина ошибки ER4 заключается в том, что вашаURL не заканчивается косой чертой home/add, но вы идете по пути с косой чертой home/add/.Это не вызовет HTTP_ERROR, если вы включили CommomMiddleware или установите для APPEND_SLASH значение True в своих настройках.

Имейте в виду, что это будет иметь некоторые эффекты, например, оно вызовет перенаправлениеи т. д. Для получения дополнительной информации см. документацию по ссылке выше.

Если вы не хотите устанавливать APPEND_SLASH, вы можете обновить свои URL-адреса и добавить косую черту в конце:

path('add/', views.TopicCreate.as_view(), name='add-topic')
...