Je travaille sur mon projet pour un cours et je suis totalement bloqué pour le moment. Je crée un site Web pour vendre des produits via Paypal et les pages de retour/annulation Paypal ne sont pas rendues correctement. J'ai suivi les exemples de mes leçons et vérifié le code cent fois, mais il est évident qu'il me manque quelque chose.
Je reçois une erreur lorsque je vais aux produits, que je clique sur acheter maintenant, que je me connecte à Paypal, puis que j'annule l'achat ou que j'achète le produit et que je retourne à la page du marchand. Paypal_return.html et Paypal_cancel.html sont deux modèles enregistrés sous templates/Paypal /
Quelqu'un peut-il voir ce que je manque?
Ici vous pouvez voir le code complet 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.
Lorsque vous utilisez la balise url, vous devez utiliser des guillemets pour les littéraux de chaîne, par exemple:
{% url 'products' %}
Pour le moment, product
est traité comme une variable et est évalué à ''
dans le message d'erreur.
{% url namespace:url_name %}
. Alors, vérifiez si vous avez ajouté le app_name
Dans urls.py.path('<int:question_id>/', views.detail, name='question_detail')
tandis que le fichier index.html contenait l'entrée suivante <li><a href="{% url 'polls:detail' question.id %}">{{ question.question_text }}</a></li>
. Notez le nom incorrect.L’erreur commune que j’ai trouvée, c’est lorsque vous oubliez de définir votre URL dans yourapp/urls.py
Correction de urlpatterns
dans le fichier urls.py
Par exemple, mon nom d'application est "simulateur",
Mon modèle d'URL pour login
et logout
ressemble à
urlpatterns = [
...
...
url(r'^login/$', simulator.views.login_view, name="login"),
url(r'^logout/$', simulator.views.logout_view, name="logout"),
...
...
]
Sur la ligne 10, il y a un espace entre s
et t
. Ce devrait être un mot: stylesheet
.