Django ошибка NoReverseMatch на удаленном сайте, но локально работает нормально
Мой Django сайт работает нормально локально. Я продвигаю его на свой сайт, но одна из ссылок не работает, и я не могу понять, почему, поскольку аналогичные вещи работают нормально. Вот мой url.py
from . import views
app_name = 'sitepages'
urlpatterns = [
path('', views.greeting_page_def, name='greeting_page_html'),
path('home/', views.home_def, name='home_html'),
path('specs/', views.specs_def, name='specs_html'),
path('about/', views.about_def, name='about_name'),
path('faq/', views.faq_def, name='faq_name'),
path('howTos/', views.howTos_def, name='howTos_name'),
path('howTos/puller', views.howTosPuller_def, name='howTosPuller_name'),
path('howTos/conformer', views.howTosConformer_def, name='howTosConformer_name'),
path('howTos/general', views.howTosGeneral_def, name='howTosGeneral_name'),
path('howTos/submitter', views.howTosSubmitter_def, name='howTosSubmitter_name'),
]
и мой views.py
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
# Create your views here.
def greeting_page_def(request):
return render(request, 'sitepages/greeting_page_html.html')
def about_def(request):
return render(request, 'sitepages/about.html')
def faq_def(request):
return render(request, 'sitepages/faq.html')
def home_def(request):
return render(request, 'sitepages/home.html')
def specs_def(request):
return render(request, 'sitepages/specs.html')
def howTos_def(request):
return render(request, 'sitepages/howTos.html')
def howTosPuller_def(request):
return render(request, 'sitepages/howTosPuller.html')
def howTosConformer_def(request):
return render(request, 'sitepages/howTosConformer.html')
def howTosGeneral_def(request):
return render(request, 'sitepages/howTosGeneral.html')
def howTosSubmitter_def(request):
return render(request, 'sitepages/howTosSubmitter.html')
и html-шаблон, содержащий ссылки.
{% extends 'base.html' %}
{% block content %}
{% load static %}
<a class="link-primary" href="{% url 'sitepages:howTosPuller_name' %}"} >How Tos - Puller</a>
<a class="link-primary" href="{% url 'sitepages:howTosSubmitter_name' %}"} >How Tos - Submitter</a>
<a class="link-primary" href="{% url 'sitepages:howTosGeneral_name' %}"} >How Tos - General</a>
<a class="link-primary" href="{% url 'sitepages:howTosConformer_name' %}"} >How Tos - Conformer</a>
{% endblock %}
все ссылки здесь работают, кроме
<a class="link-primary" href="{% url 'sitepages:howTosGeneral_name' %}"} >How Tos - General</a>
когда я нажимаю на это, я получаю
NoReverseMatch at /sitepages/howTos/
Reverse for 'howTosGeneral_name' not found. 'howTosGeneral_name' is not a valid view function or pattern name.
Другое дело, что он работает локально, но не на моем сайте, и я продвигаю его через git, и он выглядит так же.
где я ошибаюсь? Заранее спасибо (первый раз пишу здесь, поэтому прошу прощения, если я что-то сделал не так в своем сообщении, пожалуйста, дайте мне знать)
Все ссылки имеют дополнительный }
в конце перед закрытием открывающего тега якоря.
Итак, шаблон должен быть таким:
{% extends 'base.html' %}
{% block content %}
{% load static %}
<a class="link-primary" href="{% url 'sitepages:howTosPuller_name' %}">How Tos - Puller</a>
<a class="link-primary" href="{% url 'sitepages:howTosSubmitter_name' %}">How Tos - Submitter</a>
<a class="link-primary" href="{% url 'sitepages:howTosGeneral_name' %}">How Tos - General</a>
<a class="link-primary" href="{% url 'sitepages:howTosConformer_name' %}">How Tos - Conformer</a>
{% endblock %}
Note:
Всегда добавляйте /
в конце каждого маршрута, так:
Urls.py:
from . import views
app_name = 'sitepages'
urlpatterns = [
path('', views.greeting_page_def, name='greeting_page_html'),
path('home/', views.home_def, name='home_html'),
path('specs/', views.specs_def, name='specs_html'),
path('about/', views.about_def, name='about_name'),
path('faq/', views.faq_def, name='faq_name'),
path('howTos/', views.howTos_def, name='howTos_name'),
path('howTos/puller/', views.howTosPuller_def, name='howTosPuller_name'),
path('howTos/conformer/', views.howTosConformer_def, name='howTosConformer_name'),
path('howTos/general/', views.howTosGeneral_def, name='howTosGeneral_name'),
path('howTos/submitter/', views.howTosSubmitter_def, name='howTosSubmitter_name'),
]