Фреймворк Django: невозможно загрузить страницу 'services'
Я работаю над проектом Django.
Я думаю, что существует некоторая проблема с использованием слова 'services' в проекте django. Пожалуйста, посмотрите, сможете ли вы найти необходимые исправления в проекте.
Название проекта Hello. Существует одно дополнительное приложение 'home'.
Когда я перехожу на страницу index, contact или about, все они работают (загружаются), как и ожидалось.
Но страница services не загружается. Если я везде меняю 'services' на 'service', то она работает как обычно. Он выдает следующую ошибку:
Ниже приведены некоторые из содержимого файла:
Hello->urls.py
from django.contrib import admin
from django.urls import path, include
admin.site.site_header = "Harry Ice Cream Admin"
admin.site.site_title = "Harry Ice Cream Admin Portal"
admin.site.index_title = "Welcome to Harry Ice Creams!"
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('home.urls')),
]
home->urls.py
from django.contrib import admin
from django.urls import path
from home import views
urlpatterns = [
path('', views.index, name='home'),
path('about', views.about, name='about'),
path('services', views.services, name='services'),
path('contact', views.contact, name='contact'),
]
home->views.py
from django.shortcuts import render, HttpResponse
# Create your views here.
def index(request):
context = {
}
return render(request, 'index.html',context)
#return HttpResponse("This is homepage")
def about(request):
context = {
}
return render(request, 'about.html',context)
def services(request):
context = {
}
return render(request, 'services.html',context)
def contact(request):
context = {
}
return render(request, 'contact.html',context)
templates->index.html
{% extends 'base.html' %}
{% block title %} Home {% endblock title %}
{% block body %}
This is body content of index page.
{% endblock body %}
templates->about.html
{% extends 'base.html' %}
{% block title %} About {% endblock title %}
{% block body %}
This is body content of about page.
{% endblock body %}
templates->services.html
{% extends 'base.html' %}
{% block title %} About {% endblock title %}
{% block body %}
This is body content of services page.
{% endblock body %}
templates->contact.html
{% extends 'base.html' %}
{% block title %} About {% endblock title %}
{% block body %}
This is body content of contactpage.
{% endblock body %}
templates->base.html
вы можете попробовать http:127.0.0.1:8000/services
НЕ ЭТО http:127.0.0.1:8000/services/
удалите последнюю часть url /
если вы хотите, чтобы это работало http:127.0.0.1:8000/services/ вам нужно отредактировать следующее в файле urls.py.
urlpatterns = [
path('', views.index, name='home'),
path('about', views.about, name='about'),
path('services/', views.services, name='services'),
path('contact', views.contact, name='contact'),
]
Как вы видите, я поместил / в конец пути url "servies".
<li><a class="dropdown-item" href="/services">Ice Cream</a></li>
Для этого сделайте следующее.
<li><a class="dropdown-item" href="{% url 'services' %}">Ice Cream</a></li>
это {% url 'services' %} происходит от name вашего services url path.
