Django: одна из страниц не открывается

Я создал две страницы локально для сайта Django:

  1. http://127.0.0.1:8080/portfolio/
  2. http://127.0.0.1:8080/about_me/

когда я хочу открыть "http://127.0.0.1:8080/about_me/", всегда открывается этот "http://127.0.0.1:8080/portfolio/". Вы знаете причину этого?

project urls.py:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
     path('portfolio/', include('blog.urls')),
     path('about_me/', include('blog.urls')),
    ]

app urls.py:

from . import views
from django.urls import path
from django.conf.urls import include

urlpatterns = [
    path('', views.PostList.as_view(), name='home'),
    path('about_me/', views.Portfolio.as_view(), name='about_me'),
    path('portfolio/', views.Portfolio.as_view(), name='portfolio'),
   
    path('<slug:slug>/', views.PostDetail.as_view(), name='post_detail'),
    path('summernote/', include('django_summernote.urls')),


    ]
# to jest dla wysiwyg
  # add condition in django urls file

from django.conf import settings
from django.conf.urls.static import static

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

Может быть из-за того, что в приложении urls.py

 path('about_me/', views.Portfolio.as_view(), name='about_me'),
 path('portfolio/', views.Portfolio.as_view(), name='portfolio'),

вы использовали

views.Portfolio

как для about_me, так и для портфолио

В вашем urls.py оба about_me и portfolio указывают на одну и ту же функцию.

path('about_me/', views.Portfolio.as_view(), name='about_me'),
path('portfolio/', views.Portfolio.as_view(), name='portfolio'),

Оба urls указывают на ваше Portfolio представление. Поэтому измените соответствующим образом имя функции views в вашей urls.py.

path('about_me/', views.YourAboutMeView.as_view(), name='about_me'), #<---- change this view name accordingly
path('portfolio/', views.Portfolio.as_view(), name='portfolio'),
Вернуться на верх