web-dev-qa-db-ja.com

Django-''の逆が見つかりません。 ''は有効なビュー関数またはパターン名ではありません

私はコースのプロジェクトに取り組んでおり、今完全に立ち往生しています。 Paypalを介して製品を販売するWebサイトを作成していますが、Paypalの返品/キャンセルページが正しく表示されません。レッスンの例に従ってコードを100回確認しましたが、明らかに足りないものがあります。

製品にアクセスして[今すぐ購入]をクリックし、Paypalにログインしてから購入をキャンセルするか、製品を購入して販売者のページに戻ると、エラーが発生します。 Paypal_return.htmlおよびPaypal_cancel.htmlは、templates/Paypal /の下に保存される2つのテンプレートです。

誰かが私に欠けているものを見ることができますか?

ここで完全なコードを見ることができます https://github.com/IreneG5/spss_online

トレースバック

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.
20
Ire

Urlタグを使用する場合、文字列リテラルに引用符を使用する必要があります。次に例を示します。

{% url 'products' %}

現時点では、productは変数のように扱われ、エラーメッセージで''と評価されます。

35
Alasdair
  1. Urlを指定する構文は{% url namespace:url_name %}です。そのため、urls.pyにapp_nameを追加したかどうかを確認してください。
  2. 私の場合、url_nameのスペルを間違えていました。 urls.pyのコンテンツは次のpath('<int:question_id>/', views.detail, name='question_detail')でしたが、index.htmlファイルのエントリは<li><a href="{% url 'polls:detail' question.id %}">{{ question.question_text }}</a></li>でした。間違った名前に注意してください。
8
Aditya Mishra

私が見つけた一般的なエラーは、yourapp/urls.pyでURLを定義するのを忘れた場合です

0
user3719458

Urls.pyファイルのurlpatternsを修正

たとえば、私のアプリ名は「simulator」ですが、

loginおよびlogoutのURLパターンは次のようになります

urlpatterns = [
    ...
    ...
    url(r'^login/$', simulator.views.login_view, name="login"),
    url(r'^logout/$', simulator.views.logout_view, name="logout"),
    ...
    ...

]
0
Dartion

10行目では、stの間にスペースがあります。 stylesheetという1つのWordである必要があります。

0
Douglas T