Django - 找不到 '' 的反向.'' 不是有效的视图函数或模式名称 [英] Django - Reverse for '' not found. '' is not a valid view function or pattern name
问题描述
我正在处理我的课程项目,但我现在完全陷入困境.我正在创建一个网站以通过贝宝销售产品,但贝宝退货/取消页面未正确呈现.我已经按照我的课程中的例子检查了代码一百次,但显然我遗漏了一些东西.
我在访问产品时遇到错误,点击立即购买,登录贝宝,然后取消购买或购买产品并返回商家页面.paypal_return.html 和 paypal_cancel.html 是模板/paypal/下保存的 2 个模板
有人能看到我遗漏了什么吗?
在这里你可以看到完整的代码https://github.com/IreneG5/spss_online>
追溯
环境:请求方式:GET请求网址:http://127.0.0.1:8000/paypal-cancel/Django 版本:1.11.4Python 版本:2.7.12已安装的应用程序:['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','django_forms_bootstrap','paypal.standard.ipn','家','账户','paypal_store','产品']安装的中间件:['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']模板错误:在模板 C:\Users\irene\Documents\Full-Stack-Developer\Stream3\Project\spss_online\templates\base.html 中,第 10 行出错未找到 '' 的反向.'' 不是有效的视图函数或模式名称.1 : {% 加载静态文件 %}2:<!DOCTYPE html>3 : <html lang="en">4:<头>5:<元字符集=UTF-8">6:在线购买SPSS 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:</头>15:<身体>16:<div类=容器">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>追溯:内部文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\core\handlers\exception.py"41. response = get_response(request)_get_response 中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\core\handlers\base.py"187. response = self.process_exception_by_middleware(e, request)_get_response 中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\core\handlers\base.py"185.响应=wrapped_callback(请求,*callback_args,**callback_kwargs)paypal_cancel 中的文件C:\Users\irene\Documents\Full-Stack-Developer\Stream3\Project\spss_online\paypal_store\views.py"15.返回渲染(请求,'paypal/paypal_cancel.html',参数)渲染中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\shortcuts.py"30. content = loader.render_to_string(template_name, context, request, using=using)render_to_string 中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\loader.py"68. return template.render(context, request)渲染中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\backends\django.py"66. 返回 self.template.render(context)渲染中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py"207. 返回 self._render(context)_render 中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py"199. 返回 self.nodelist.render(context)渲染中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py"990.位= node.render_annotated(上下文)文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py"在render_annotated957.return self.render(context)渲染中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\loader_tags.py"177.返回compiled_parent._render(上下文)_render 中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py"199. 返回 self.nodelist.render(context)渲染中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py"990.位= node.render_annotated(上下文)文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py"在render_annotated957.return self.render(context)渲染中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\loader_tags.py"72. result = block.nodelist.render(context)渲染中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py"990.位= node.render_annotated(上下文)文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\base.py"在render_annotated957.return self.render(context)渲染中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\template\defaulttags.py"458. url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)反向文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\urls\base.py"91. 返回 force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)))_reverse_with_prefix 中的文件C:\Users\irene\virtualenv\spss_online_env\lib\site-packages\django\urls\resolvers.py"497. 提高 NoReverseMatch(msg)异常类型:NoReverseMatch at/paypal-cancel/异常值:未找到 '' 的反转.'' 不是有效的视图函数或模式名称.
当你使用 url 标签时,你应该对字符串文字使用引号,例如:
{% url 'products' %}
目前 product
被视为一个变量,并在错误消息中计算为 ''
.
I'm working on my project for a course and I'm totally stuck right now. I'm creating a website to sell products through paypal and the paypal return/cancel pages are not rendering properly. I've followed the examples in my lessons and checked the code a hundred times but obviously there is something I'm missing.
I'm getting an error when I go to products, click buy now, login to paypal and then either cancel the purchase or buy the product and return to merchant's page. paypal_return.html and paypal_cancel.html are 2 templates saved under templates/paypal/
Can anybody see what I'm missing?
Here you can see the full code https://github.com/IreneG5/spss_online
Traceback
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.
When you use the url tag you should use quotes for string literals, for example:
{% url 'products' %}
At the moment product
is treated like a variable and evaluates to ''
in the error message.
这篇关于Django - 找不到 '' 的反向.'' 不是有效的视图函数或模式名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!