Django Я пытаюсь использовать обратную функцию и получаю NoReverseMatch
Я новичок в Django framework. и я следую некоторым руководствам на udemy и делаю шаг за шагом. но что-то пошло не так.
я открываю startapp под названием 'accounts', и затем у меня есть файл под названием urls.py вот что у меня есть.
from django.urls import path
from . import views
urlpatterns = [
path("<int:month>", views.monthly_num),
path("<str:month>", views.monthly_str, name='monthly-acc'),
]
и в файле views.py я хочу сделать реверс и сделать редирект.
from django.shortcuts import render
from django.http import HttpResponseNotFound
from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse
# Create your views here.
months = {
"january": "Hello january",
"febuary": "Hello febuary",
"march": "Hello march",
"april": "Hello april", }
def monthly_str(request, month):
try:
text_month = months[month]
return HttpResponse("<h1>"+text_month+"</h1>")
except:
return HttpResponseNotFound("THIS NOT A MONTH!")
def monthly_num(request, month):
monthly = list(months.keys())
if month > len(monthly) or month <= 0:
return HttpResponseNotFound("<h1>NO GOOD</h1>")
redirect_month = monthly[month-1]
redirect_path = reverse('monthly-acc', args=[redirect_month]) # HERE I GOT THE ERROR.
return HttpResponseRedirect(redirect_path)
Итак, что я пытаюсь сделать
у меня есть локальный url, например: http://mypro:9000/acc/1. я хочу перенаправить на http://mypro:9000/acc/january
и я получил эту ошибку страницы.
