У меня есть HttpResponseRedirect()
функция, которая создает необходимый URL:Как отправить данные POST в обратном URL
мой create
вид:
def create(request):
entry = Char_field(field=request.POST['record'])
entry.save()
return HttpResponseRedirect(reverse('db:index_page',kwargs={'redirected':'true'}))
вид которого HttpResponseRedirect()
перенаправляет является:
def index(request):
redirected = False
template= 'app/index.html'
try:
if request.POST['redirected'] is 'true':
redirected = True
except:
pass
return render(request,template,{'redirected':redirected})
Однако он возвращает ошибку:
NoReverseMatch at /app/create/
Reverse for 'index_page' with arguments '()' and keyword arguments '{'redirected': 'true'}' not found.
urls.py:
urlpatterns = patterns('',
url(r'^$',views.index,name='index_page'),
url(r'^get_record/$',views.get_record,name='get_record'),
url(r'^create/$',views.create_html,name='create_path'),
url(r'^add/$',views.create,name='add_record')
)
Почему это так и можно ли отправить POST
данные в index_page
зрения с помощью функции reverse()
?
Покажите нам свой 'urls.py' с определением' дб: index_page'. – Matthias
@Matthias добавлен ... –
Довольно ясно: 'index_name' не принимает никаких параметров в определении URL, поэтому' reverse' не может найти местоположение и выдает ошибку. – Matthias