Реверс для 'X' не найден. 'X' не является допустимой функцией представления или именем шаблона. Django Framework [дубликат]
Я новичок в концепции Django
У меня есть 3 файла для этой проблемы.
У меня есть urls.py в моем файле проекта под названием firt_website со следующим кодом:
"""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 = 'main'
urlpatterns = [
path('', include('pages.urls', namespace='home')),
path('portfolio/', include('pages.urls', namespace='portfolio')),
path('experience/', include('pages.urls', namespace='experience')),
path('education/', include('pages.urls', namespace='education')),
]
У меня есть HTML Navbar, который будет включен в HTML индексной страницы как {% extends 'navbar.html' %} : файлы содержат :
Затем pages/urls.py, который находится в папке project_app под названием pages :
from django.contrib import admin
from django.urls import path
from . import views
app_name = 'pages'
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'),
]
Вот мои файлы представления, содержащие ссылку на HTML-документы
rom 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')
Я изо всех сил пытаюсь создать навигационную панель, которая работает независимо от того, нахожусь ли я на индексной странице и хочу перейти на страницу портфолио, а затем вернуться на индексную страницу после нахождения на страницах портфолио
Я перепробовал все типы кода и версии Django и не многие показывают, как сделать navbar...
Знаете ли вы, почему это работает, чтобы сделать {% url 'experience' %} ?? что я могу сделать и самые простые варианты?
ошибка Django обратное соответствие
Поскольку вы указали app_name = 'main'
, это означает, что вам нужно префикс имени представления с app_name
, так:
{% url 'main:experience' %}