I am receiving the following error on my page made with django.
Reverse for 'subscribed' with keyword arguments' {'name': u'ImHarvol '}' not found. 1 pattern (s) tried: ['edoras / newsletter / subscribed $']
The page consists of a form, which after completing it, has to redirect you to the view subscribed .
urls.py :
from django.conf.urls import url, include
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^newsletter$', views.newsletter, name='newsletter'),
url(r'^newsletter/suscrito$', views.suscrito, name='suscrito'),
]
views.py :
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
### Create your views here.
from django.shortcuts import get_object_or_404, redirect
from .forms import SuscripcionForm
from .models import Suscripcion
from .modulos import *
def index(request):
# return render(request, 'edoras/index.html', {})
return redirect(newsletter)
def newsletter(request):
# return render(request, 'edoras/newsletter.html', {})
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
else:
ip = request.META.get('REMOTE_ADDR')
if request.method == "POST":
form = SuscripcionForm(request.POST)
if form.is_valid():
suscripcion = form.save(commit=False)
suscripcion.ip = ip
fsuscripciones = open("/home/imharvol/web/edoras/botsuscripciones/twitters.txt", "a")
fsuscripciones.write('\n@'+suscripcion.nombre_twitter)
fsuscripciones.close
suscripcion.save()
sendmessage(suscripcion.nombre_twitter)
return redirect('suscrito', nombre=suscripcion.nombre_twitter)
else:
form = SuscripcionForm()
return render(request, 'edoras/newsletter.html', {'form': form})
def suscrito(request, nombre):
return render(request, 'edoras/suscrito.html', {'nombre': nombre})
I guess the error is due to this line return redirect('suscrito', nombre=suscripcion.nombre_twitter)
. There I am trying to send the name that they have put in the form, to the subscribed view, to then print their name.