#python #python-3.x #django #django-views #http-status-code-404
Вопрос:
Я пытаюсь создать веб-сайт с помощью Django, и у меня появилось такое сообщение об ошибке
Request URL: http://127.0.0.1:8000/store.html
Using the URLconf defined in greatkart.urls, Django tried these URL patterns, in this order:
admin/
[name='home']
store/
^media/(?P<path>.*)$
The current path, store.html, didn't match any of these.
Проблема в том, что когда я пытался нажать кнопку, она всегда печаталась ./store.html не в ./store
, это мой html-код для кнопки
<a href="./store.html" class="btn btn-outline-primary float-right">See all</a>
И это мой Джанго для urls.py (главная)
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.home, name='home'),
path('store/', include("store.urls"))
] static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
Это urls.py(магазин)
urlpatterns = [
path('', views.store, name='store'),
path('<slug:category_slug>/', views.store, name='product_by_category'),
]
views.py
def store(request, category_slug = None):
return render(request, 'store/store.html', context)
У кого-нибудь есть какие-нибудь идеи? Я хочу исправить это, не меняя HTML-код, потому что я пробовал это, и когда я дважды нажимаю на кнопки, которые делают некоторые ошибки, потому что URL-адрес печатает ./store дважды
Ответ №1:
Здесь URL-адрес должен быть абсолютным(начиная с /
адреса локального хоста, исключающего вас) и не должен включать .html
. Таким образом, ваш Url-адрес должен быть : /store
и тег привязки должен быть : <a href="/store" class="btn btn-outline-primary float-right">See all</a>
Комментарии:
1. о, я вижу проблему, я включаю ./магазин, а не /магазин, так что это печать /магазин всякий раз, когда я нажимаю кнопку спасибо за вашу помощь
2. @MarcusAurelius , я рад, что это помогло. Подумайте о том, чтобы проголосовать за ответ и принять его как решение. Пожалуйста 🙂