Django: одна из страниц не открывается
Я создал две страницы локально для сайта Django:
когда я хочу открыть "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'),