Как исправить страницу не найдена (404) ошибка django2.0 для страниц профиля - PullRequest
0 голосов
/ 22 апреля 2020

Как исправить Страница не найдена (404) Ошибка django2.0 для страниц профиля

этот код

просмотр кода

'' '

def profile(request, slug):

    profile = Profile.objects.get(slug=slug)

    context = {

        'profile':profile,
    }

    return render(request, 'registration/profile.html' ,context)

'' 'и этот профиль urls.py

' ''

from django.urls import path,re_path
from . import views
from django.contrib.auth.views import LoginView,logout #login 

app_name='accounts'

urlpatterns = [
    path(r'', views.home, name ='home'),
    # path(r'^login/$', login, {'template_name':'registration/login.html'}),
    path('login/', LoginView.as_view(), name="login"),
    path(r'^logout/$', logout, name='logout'),
    # path(r'^signup/$', views.register, name='register'),
    path('signup/', views.register, name='signup'),
    path(r'^(?P<slug>[-\w]+)/$', views.profile, name='profile'),
     # path(r'^(?P<slug>[-\w]+)/edit$', views.edit_profile, name='edit_profile'),

]

'''

. html страница в папке шаблонов / регистрации

1 Ответ

1 голос
/ 22 апреля 2020

Если вы используете path(), вам не следует использовать регулярные выражения, такие как r'^logout/$' и r'^(?P<slug>[-\w]+)/$.

. Замените следующие два шаблона URL

path(r'^logout/$', logout, name='logout'),
path(r'^(?P<slug>[-\w]+)/$', views.profile, name='profile'),

на эти:

path('logout/', logout, name='logout'),
path('<slug:slug>/', views.profile, name='profile'),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...