Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

814
Views
Django: no se encuentra el reverso de ''. '' no es una función de vista válida o un nombre de patrón

Estoy trabajando en mi proyecto para un curso y estoy totalmente atascado en este momento. Estoy creando un sitio web para vender productos a través de PayPal y las páginas de devolución/cancelación de PayPal no se muestran correctamente. Seguí los ejemplos en mis lecciones y revisé el código cientos de veces, pero obviamente hay algo que me estoy perdiendo.

Recibo un error cuando voy a productos, hago clic en comprar ahora, inicio sesión en PayPal y luego cancelo la compra o compro el producto y vuelvo a la página del comerciante. paypal_return.html y paypal_cancel.html son 2 plantillas guardadas en templates/paypal/

¿Alguien puede ver lo que me estoy perdiendo?

Aquí puedes ver el código completo https://github.com/IreneG5/spss_online

Rastrear

 Environment: Request Method: GET Request URL: http://127.0.0.1:8000/paypal-cancel/ Django Version: 1.11.4 Python Version: 2.7.12 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_forms_bootstrap', 'paypal.standard.ipn', 'home', 'accounts', 'paypal_store', 'products'] Installed Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] Template error: In template C:\Users\irene\Documents\Full-Stack-Developer\Stream3\Project\spss_online\templates\base.html, error at line 10 Reverse for '' not found. '' is not a valid view function or pattern name. 1 : {% load staticfiles %} 2 : <!DOCTYPE html> 3 : <html lang="en"> 4 : <head> 5 : <meta charset="UTF-8"> 6 : <title>Buy SPSS Online</title> 7 : <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 : <meta name="description" content=""> 9 : <meta name="author" content=""> 10 : <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/cerulean/bootstrap.min.css"> 11 : <link rel="stylesheet" href="{% static 'css/style.css' %}"> 12 : 13 : 14 : </head> 15 : <body> 16 : <div class="container"> 17 : <div class='container-fluid'> 18 : <nav id="menu" class="navbar navbar-inverse"> 19 : <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> 20 : <span class="icon-bar"></span> Traceback: File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\core\handlers\exception.py" in inner 41. response = get_response(request) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\core\handlers\base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\core\handlers\base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\irene\Documents\Full-Stack-Developer\Stream3\Project\spss_online\paypal_store\views.py" in paypal_cancel 15. return render(request, 'paypal/paypal_cancel.html', args) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\shortcuts.py" in render 30. content = loader.render_to_string(template_name, context, request, using=using) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\loader.py" in render_to_string 68. return template.render(context, request) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\backends\django.py" in render 66. return self.template.render(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py" in render 207. return self._render(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py" in _render 199. return self.nodelist.render(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py" in render 990. bit = node.render_annotated(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py" in render_annotated 957. return self.render(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\loader_tags.py" in render 177. return compiled_parent._render(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py" in _render 199. return self.nodelist.render(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py" in render 990. bit = node.render_annotated(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py" in render_annotated 957. return self.render(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\loader_tags.py" in render 72. result = block.nodelist.render(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py" in render 990. bit = node.render_annotated(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py" in render_annotated 957. return self.render(context) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\defaulttags.py" in render 458. url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\urls\base.py" in reverse 91. return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))) File "C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\urls\resolvers.py" in _reverse_with_prefix 497. raise NoReverseMatch(msg) Exception Type: NoReverseMatch at /paypal-cancel/ Exception Value: Reverse for '' not found. '' is not a valid view function or pattern name.
over 4 years ago · Santiago Trujillo
22 answers
Answer question

0

Cuando use la etiqueta de URL, debe usar comillas para los literales de cadena, por ejemplo:

 {% url 'products' %}

Por el momento, el product se trata como una variable y se evalúa como '' en el mensaje de error.

over 4 years ago · Santiago Trujillo Report

0

  1. La sintaxis para especificar la URL es {% url namespace:url_name %} . Entonces, verifique si ha agregado app_name en urls.py.
  2. En mi caso, había escrito mal el url_name. El urls.py tenía la siguiente path('<int:question_id>/', views.detail, name='question_detail') mientras que el archivo index.html tenía la siguiente entrada <li><a href="{% url 'polls:detail' question.id %}">{{ question.question_text }}</a></li> . Observe el nombre incorrecto.
over 4 years ago · Santiago Trujillo Report

0

El error común que he encontrado es cuando te olvidas de definir tu url en yourapp/urls.py

no queremos ninguna sugerencia!! solución por favor..

over 4 years ago · Santiago Trujillo Report

0

Arreglar urlpatterns en el archivo urls.py

Por ejemplo, el nombre de mi aplicación es "simulador",

Mi patrón de URL para iniciar y logout login parece a

 urlpatterns = [ ... ... url(r'^login/$', simulator.views.login_view, name="login"), url(r'^logout/$', simulator.views.logout_view, name="logout"), ... ... ]
over 4 years ago · Santiago Trujillo Report

0

En la línea 10 hay un espacio entre s y t . Debería ser una palabra: stylesheet .

over 4 years ago · Santiago Trujillo Report

0

Recibí el mismo error al no especificar el nombre de la app antes del nombre del patrón. En mi caso:

app-name : Blog

pattern-name : eliminación posterior

reverse_lazy('Blog:post-delete') funcionó.

over 4 years ago · Santiago Trujillo Report

0

Si no define el nombre en el campo de la ruta, generalmente aparecerá el error. por ejemplo: path('crud/',ABC.as_view(),name="crud")

over 4 years ago · Santiago Trujillo Report

0

En mi caso, lo que hice fue un error en la etiqueta de url en la plantilla respectiva. Entonces, en mi etiqueta de URL tenía algo como

{% url 'encuestas: detalles' pregunta.id %}

mientras que en las vistas, había escrito algo como:

def detalles (solicitud, question_id): código aquí

Entonces, lo primero que querrá verificar es si las cosas están escritas como deberían. Lo siguiente que puede hacer es lo que han sugerido las personas anteriores.

over 4 years ago · Santiago Trujillo Report

0

Dar el mismo nombre en urls.py

 path('detail/<int:id>', views.detail, name="detail"),
over 4 years ago · Santiago Trujillo Report

0

En mi caso, no pongo namespace_name en la etiqueta de URL, por ejemplo: {% url 'url_name or pattern name' %}. tienes que especificar el namespace_name como: {% url 'namespace_name:url_name or pattern name' %}.

Explicación: en el proyecto urls.py path('', include('blog.urls',namespace='blog')), y en el urls.py de la aplicación, debe especificar el nombre de la aplicación. como app_name = 'blog' . namespace_name es el nombre de la aplicación.

over 4 years ago · Santiago Trujillo Report

0

Agregue el nombre de la tienda a la plantilla como {% url 'app_name:url_name' %}

App_name = tienda

En urls.py, path('search', views.searched, name="searched"),

<form action="{% url 'store:searched' %}" method="POST">

over 4 years ago · Santiago Trujillo Report

0

En mi caso, este error ocurrió debido a que el nombre de la URL mismatched . p.ej,

 <form action="{% url 'test-view' %}" method="POST">

urls.py

 path("test/", views.test, name='test-view'),
over 4 years ago · Santiago Trujillo Report

0

En mi caso, este error ocurrió porque olvidé agregar app_name junto con url_name . A continuación se muestra mi aplicación urls.py

 app_name = "wikis" urlpatterns = [ path("", views.index, name="index"), path("wiki/<str:name>", views.get_page, name="get_page"), ]

A continuación se muestra la declaración de devolución de mi función donde olvidé poner app_name en la URL inversa

 return HttpResponseRedirect(reverse("get_page", kwargs={'name':title}))

El código correcto sería

 return HttpResponseRedirect(reverse("wikis:get_page", kwargs={'name':title}))
over 4 years ago · Santiago Trujillo Report

0

appname=url de demostración=/estudiante

href="{% url 'demostración:estudiante' %}"

Asegúrese de que no debe tener espacio antes o después: (dos puntos)

over 4 years ago · Santiago Trujillo Report

0

* Siempre asegúrese de que cuando use HttpResponseRedirect y viceversa, el nombre que especifique dentro de reverse sea el mismo nombre que le dio a su ruta dentro de urls.py

Ese es el problema que tuve y lo descubrí a través de prueba y error*

over 4 years ago · Santiago Trujillo Report

0

* Siempre asegúrese de que cuando use HttpResponseRedirect y viceversa, el nombre que especifique dentro de reverse sea el mismo nombre que le dio a su ruta dentro de urls.py

'return HttpResponseRedirect(reverse("index")) path("index/",views.index,name="index")'

Ese es el problema que tuve y lo descubrí a través de prueba y error*

over 4 years ago · Santiago Trujillo Report

0

Especifique app_name en el archivo urls.py de una aplicación y use este app_name junto con el nombre de vista literal de cadena de la URL en las plantillas:

 syntax --> {% url 'app_name:urlname' %} app_name = "demo". # right above url patterns in app url_patterns = [ ('login/', views.login, name = 'login') ] <a href="{% url 'demo:login' %}". # Use this in templatep

Nota: use app_name justo encima de url_patterns en el archivo urls.py.

over 4 years ago · Santiago Trujillo Report

0

Me he enfrentado al mismo problema. El error fue que declaré el mismo nombre para múltiples patrones de URL.

 path('file', views.sender, name='sender'),

Aquí el nombre debe ser diferente y único para diferentes URL.

over 4 years ago · Santiago Trujillo Report

0

Digamos que en su plantilla home.html tiene un formulario que realiza una solicitud POST, como:

 <form id="form_id" action = "{% url 'home' %}" method = "post" > .. </form>

En tu urls.py tienes

 url(r'^$', views.home_view, name='home')

en su opinión, puede verificar los datos pasados de una plantilla como esta.

 def home_view(request): print(request.POST)

es importante en urls.py declarar un name='home' y en su parte de acción en el formulario para incluir esta url action = "{% url 'home' %}"

over 4 years ago · Santiago Trujillo Report

0

Puedes usar uno de estos.

Si no lo hiciste (app_name) Esta es la solución

en urls.py

 urlpatterns = [ path('', dashboard.as_view(), name='dashboard'), ]

en plantilla.html

 <a href="{% url 'dashboard' %}"></a>

Si lo hiciste (app_name) Esta es la solución

en urls.py

 app_name = 'Blog' urlpatterns = [ path('', dashboard.as_view(), name='dashboard'), ]

en plantilla.html

 <a href="{% url 'Blog:dashboard' %}"></a>
over 4 years ago · Santiago Trujillo Report

0

Yo también enfrenté el mismo problema durante la prueba, para mí fue causado cuando la URL estaba vacía en html

 <td><a href="{% url '' test.id %}"><i class="fa fa-times" aria-hidden="true"></i></a></td>

Entonces, después de que lo cambié poniendo el nombre de la URL:

 <td><a href="{% url 'task_delete' test.id %}"><i class="fa fa-times" aria-hidden="true"></i></a></td>
over 4 years ago · Santiago Trujillo Report

0

También puede obtener este error si olvida agregar la URL de la aplicación en la URL del proyecto

Ejemplo: Proyecto/urls.py

 from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('app.urls')), ]

y tienes una tienda/urls.py

entonces, si tiene un código html en la tienda/plantillas/tienda y desea agregar en la aplicación/plantillas/aplicación una etiqueta con la URL a un código html en la tienda/plantillas/tienda

Tendrías que incluir el store/urls.py en Project/urls.py

Proyecto/urls.py

 from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('app.urls')), path('', include('store.urls')), ]
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!