Я все еще изучаю веревки для программирования с django, и когда я пытаюсь открыть свой сайт на localhost, я получаю сообщение об ошибке, которое не помогает указать мне правильное направление.Это сообщение об ошибке, которое я получаю из файла с именем base.html:
NoReverseMatch at /
Reverse for 'main-createchannel' not found. 'main-createchannel' is not a valid view function or pattern name.
той части base.html, которая вызывает URL-адреса
<div class="collapse navbar-collapse" id="navbarToggle">
<div class="navbar-nav mr-auto">
<a class="nav-item nav-link" href="{% url 'main:main-about' %}">About</a>
<a class="nav-item nav-link" href="{% url 'main:main-channelsettings' %}">Channel Settings</a>
<a class="nav-item nav-link" href="{% url 'main:main-channelinfo' %}">Channel Information</a>
<a class="nav-item nav-link" href="{% url 'main:main-createchannel' %}">Create Channel</a>
<a class="nav-item nav-link" href="{% url 'main:main-findchannel' %}">Find Channel</a>
<a class="nav-item nav-link" href="{% url 'main:main-ticketrequest' %}">Submit a Ticket</a>
</div>
<!-- Navbar Right Side -->
<div class="navbar-nav">
<a class="nav-item nav-link" href="{% url 'main:main-userprofile' %}">Login</a>
<a class="nav-item nav-link" href="{% url 'main:users-register' %}">Register</a>
{% if user.is_authenticated %}
<a class="nav-item nav-link" href="{% url 'main:main-userprofile' %}">Profile</a>
{% endif %}
</div>
</div>
views.py
def createchannelpage(request):
if request.method == 'POST':
form = CreateChannelForm(request.POST)
if form.is_valid():
form.save()
channel_room_name = form.cleaned_data.get('channel_room_name')
#messages.success(request, f'{channel_room_name} was created!')
return redirect('/')
else:
form = CreateChannelForm()
return render(request, 'main/createChannel.html', {
'form': form,
'title': "Create a Channel"
})
и, наконец, urls.py
from . import views
from users import views as users_views
app_name = 'main'
urlpatterns = [
path('', views.homepage, name='main-home'),
path('register/', users_views.register, name='users-register'),
path('about/', views.aboutpage, name='main-about'),
path('createchannel/', views.createchannelpage, name='main-createchannel'),
path('findchannel/', views.findchannelpage, name='main-findchannel'),
path('channelinfo/', views.channelinfopage, name='main-channelinfo'),
path('channelsettings/', views.channelsettingspage, name='main-channelsettings'),
path('userprofile/', views.userprofilepage, name='main-userprofile'),
path('ticketrequest',views.ticketrequestpage, name='main-ticketrequest'),
re_path(r'^(?P<channel_room_name>[^/]+)/$', views.channelinfopage, name='channel'),
]
Когда я попытался вызвать страницы с помощью {% url views.createchannelpage%}, это не сработало.Но ни один из них не вызывал URL по имени, как {% url 'main-createchannel'%}.
Я чувствую, что перепробовал все, что могу найти в Интернете, чтобы выручить меня.Это просто что-то простое, что я где-то пропустил?Спасибо!