NoReverseMatch в /blog/redirect2
Я новичок в django и я пытался протестировать методы перенаправления URLs Я попробовал два варианта, но return render() продолжает выдавать мне эту ошибку no reverse match
вот мой код urls.py :
app_name = 'blog'
urlpatterns = [
# path('about', views.about, name = 'about'),
path('about.html', views.about, name='about'),
path('home.html', views.home, name='home'),
# path('home', views.home, name ="home")
path('redirect', views.redirect_view),
path('redirection_fct',views.redirection_fct, name='redir_fct'),
#redirection par la fonction as_view
path('redirect1', RedirectView.as_view(url='http://127.0.0.1:8000/blog/redirection_fct')),
path('redirect2', views.redirect_view1),
]
а это мой файл views :
def about(request):
return render(request, 'about.html', {})
def home(request):
return render(request, 'home.html', {})
#redirection par HttpResponseRedirect
def redirect_view(request):
return HttpResponseRedirect("redirection_fct")
def redirect_view1(request):
return redirect('redir_fct')
def redirection_fct(request):
return render(request, 'redirection.html', {})
Есть ли что-то неправильное в моем шаблоне URL или это рендеринг?
Является ли это urls.py на вашем приложении? Как включить его в ваш проект urls.py, если у вас есть пространство имен для него, то вам, вероятно, нужно что-то вроде:
def redirect_view1(request):
return redirect('blog:redir_fct')
Вы можете попробовать запустить из оболочки django shell:
from django.urls import get_resolver
print(get_resolver().reverse_dict.keys())