основного проекта urls.py:URL не перенаправлять с kwargs не NoReverseMatch
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'', include('data.urls')),
]
urls.py:
urlpatterns = [
url(r'^doll/$', views.doll_describer),
url(r'^yourdolldata/(?P<id>\d+)/$', views.yourDollData),
url(r'^connexion/$', views.connexion),
url(r'^logout/$', views.deconnexion),
]
views.py
def doll_describer(request):
# if this is a POST request we need to process the form data
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = DollForm(request.POST)
print(form)
# check whether it's valid:
if form.is_valid():
print("was valid")
doll = form.save(commit=False)
doll.save()
print("DOG.ID=",doll.id)
return HttpResponseRedirect(reverse('yourDollData', kwargs={'id': doll.id}))
else :
print("form is not valid")
# if a GET (or any other method) we'll create a blank form
else:
form = DollForm()
print("wasn't valid")
return render(request, 'data/doll.html', {'form':DollForm})
def yourDollData(request,id):
doll = DollData.objects.get(id=id)
print("Doll=",doll)
print("DOG_TYPE=",type(doll))
return render(request, 'data/save.html', {'doll': doll})
я не могу понять, почему я получаю следующую ошибку:
NoReverseMatch в/куклы/
И это касается HttpResponseRedirect(reverse('yourDollData', kwargs={'id': doll.id}))
Tough, все в порядке с doll.id
, который распечатывается правильно одну строку раньше.
Конечно, когда я получаю жесткий доступ в своем браузере до 127.0.0.1:8000/yourdolldata/15/, он отлично работает. Так что все дело в этом процессе реверсирования. Я предполагаю, что это имеет какое-то отношение к моему регулярному выражению URL, не совпадающему с тем, что я думаю, что я реверсирую ...
Как я могу исправить это? Я знаю, что это распространенная ошибка, но я не вижу ничего плохого после того, как проведу исследование в Интернете.
Вы включаете URL-адреса приложения в основные URL-адреса, используя пространство имен? – alecxe
Я не понимаю, что вы здесь предлагаете ... Не могли бы вы объяснить немного больше? – BoobaGump
Хорошо, пожалуйста, разместите содержимое urls.py на уровне проекта. Благодарю. – alecxe