Страница не найдена ошибка 404 django navbar link
У меня проблема со ссылкой на navbar, когда она находит html-страницу
my mysite/urls.py
"""firt_website URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
from pages import urls
app_name = 'pages'
urlpatterns = [
path('', include('pages.urls')),
]
my blog/urls.py :
from django.contrib import admin
from django.urls import path, re_path
from . import views
app_name = 'main'
urlpatterns = [
path('', views.home_page, name='homepage'),
path('education/', views.education, name='education'),
path('experience/', views.experience, name='experience'),
path('portfolio/', views.portfolio, name='portfolio'),
]
my navbar.html :
<div class="u-custom-menu u-nav-container-collapse">
<div class="u-align-center u-black u-container-style u-inner-container-layout u-opacity u-opacity-95 u-sidenav">
<div class="u-sidenav-overflow">
<div class="u-menu-close"></div>
<ul class="u-align-center u-nav u-popupmenu-items u-unstyled u-nav-2"><li class="u-nav-item"><a class="u-button-style u-nav-link" href="Acceuil.html" style="padding: 10px 0px; text-shadow: 0 0 8px rgba(128,128,128,1);">Home</a>
</li><li class="u-nav-item"><a class="u-button-style u-nav-link" href="{% url 'main:experience' %}" style="padding: 10px 0px; text-shadow: 0 0 8px rgba(128,128,128,1);">Experience</a>
</li><li class="u-nav-item"><a class="u-button-style u-nav-link" href="{% url 'main:education' %}" style="padding: 10px 0px; text-shadow: 0 0 8px rgba(128,128,128,1);">Study</a>
</li><li class="u-nav-item"><a class="u-button-style u-nav-link" href="{% url 'main:portfolio' %}" style="padding: 10px 0px; text-shadow: 0 0 8px rgba(128,128,128,1);">Portfolio</a>
</li><li class="u-nav-item"><a class="u-button-style u-nav-link" href="{% url 'main:homepage' %}#sec-1120" data-page-id="134427998" style="padding: 10px 0px; text-shadow: 0 0 8px rgba(128,128,128,1);">Contact</a>
</li></ul>
</div>
</div>
<div class="u-black u-menu-overlay u-opacity u-opacity-70"></div>
</div>
мои взгляды :
from django.shortcuts import render, redirect
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse, HttpResponseRedirect
from django.conf import settings
from .forms import ContactForm
# Create your views here.
def home_page(request):
return render(request, 'index.html')
def education(request):
return render(request, 'Education.html')
def experience(request):
return render(request, 'Experience.html')
def portfolio(request):
return render(request, 'Portfolio.html')
Борьба у меня возникает, когда я нажимаю на ссылку, то появляется ошибка, что не удается найти страницу или загрузить HTML страницу.
найдите пример этого ниже на изображении :
Знаете, почему, даже если я поставил "/" в blog/urls.py для каждого пути ....?
Проблема в вашем пути. Путь должен быть таким
- 127.0.0.1:8000/ (для дома)
- 127.0.0.1:8000/образование (для образования)
- 127.0.0.1:8000/experience (для опыта)
- 127.0.0.1:8000/portfolio (для портфолио)
В HTML href должен быть построен следующим образом:
href="{% url 'experience' %}"
href="{% url 'education' %}"
href="{% url 'portfolio' %}"
href="{% url 'homepage' %}"
В вашем mysite/urls.py попробуйте следующее:
from django.contrib import admin
from django.urls import path, include
from pages import urls
urlpatterns = [
path('blog/', include('blog.urls')),
]
Теперь, если вы перейдете, например, по адресу 127.0.0.1:8000/blog/experience/ или нажмете кнопку навигации, это должно вызвать функции в вашем views.py.