Je cours django 1.1rc. Tout mon code fonctionne correctement en utilisant le serveur de développement intégré de django; Cependant, quand je me déplace dans la production à l'aide de mod_python d'Apache, je reçois l'erreur suivante sur toutes mes vues:django @login_required erreur de décorateur
Caught an exception while rendering: Reverse for '<django.contrib.auth.decorators._CheckLogin
Qu'est-ce que je pourrais trouver qui est la cause de cette erreur?
Mise à jour: Ce qui est étrange, c'est que je peux accéder au compte vues/login et aussi le site d'administration très bien. J'ai essayé de supprimer le décorateur @login_required sur toutes mes vues et il génère le même type d'exception.
Update2: Il semble donc y avoir un problème avec les vues de mon package personnalisé: booster. Le django.contrib fonctionne très bien. Je suis au service de l'application au http://server_name/booster. Toutefois, la vue de connexion auth intégrée redirige vers http://server_name/accounts/login. Est-ce que cela donne une idée de ce qui peut être mauvais?
Traceback:
Environment:
Request Method: GET
Request URL: http://lghbb/booster/hospitalists/
Django Version: 1.1 rc 1
Python Version: 2.5.4
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'booster.core',
'booster.hospitalists']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware')
Template error:
In template c:\booster\templates\hospitalists\my_patients.html, error at line 23
Caught an exception while rendering: Reverse for '<django.contrib.auth.decorators._CheckLogin object at 0x05016DD0>' with arguments '(7L,)' and keyword arguments '{}' not found.
13 : <th scope="col">Name</th>
14 : <th scope="col">DOB</th>
15 : <th scope="col">IC</th>
16 : <th scope="col">Type</th>
17 : <th scope="col">LOS</th>
18 : <th scope="col">PCP</th>
19 : <th scope="col">Service</th>
20 : </tr>
21 : </thead>
22 : <tbody>
23 : {% for patient in patients %}
24 : <tr class="{{ patient.gender }} select">
25 : <td>{{ patient.bed }}</td>
26 : <td>{{ patient.mr }}</td>
27 : <td>{{ patient.acct }}</td>
28 : <td><a href="{% url hospitalists.views.patient patient.id %}">{{ patient }}</a></td>
29 : <td>{{ patient.dob }}</td>
30 : <td class="{% if patient.infections.count %}infection{% endif %}">
31 : {% for infection in patient.infections.all %}
32 : {{ infection.short_name }}
33 : {% endfor %}
Traceback:
File "C:\Python25\Lib\site-packages\django\core\handlers\base.py" in get_response
92. response = callback(request, *callback_args, **callback_kwargs)
File "C:\Python25\Lib\site-packages\django\contrib\auth\decorators.py" in __call__
78. return self.view_func(request, *args, **kwargs)
File "c:/booster\hospitalists\views.py" in index
50. return render_to_response('hospitalists/my_patients.html', RequestContext(request, {'patients': patients, 'user' : request.user}))
File "C:\Python25\Lib\site-packages\django\shortcuts\__init__.py" in render_to_response
20. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "C:\Python25\Lib\site-packages\django\template\loader.py" in render_to_string
108. return t.render(context_instance)
File "C:\Python25\Lib\site-packages\django\template\__init__.py" in render
178. return self.nodelist.render(context)
File "C:\Python25\Lib\site-packages\django\template\__init__.py" in render
779. bits.append(self.render_node(node, context))
File "C:\Python25\Lib\site-packages\django\template\debug.py" in render_node
71. result = node.render(context)
File "C:\Python25\Lib\site-packages\django\template\loader_tags.py" in render
97. return compiled_parent.render(context)
File "C:\Python25\Lib\site-packages\django\template\__init__.py" in render
178. return self.nodelist.render(context)
File "C:\Python25\Lib\site-packages\django\template\__init__.py" in render
779. bits.append(self.render_node(node, context))
File "C:\Python25\Lib\site-packages\django\template\debug.py" in render_node
71. result = node.render(context)
File "C:\Python25\Lib\site-packages\django\template\loader_tags.py" in render
24. result = self.nodelist.render(context)
File "C:\Python25\Lib\site-packages\django\template\__init__.py" in render
779. bits.append(self.render_node(node, context))
File "C:\Python25\Lib\site-packages\django\template\debug.py" in render_node
81. raise wrapped
Exception Type: TemplateSyntaxError at /hospitalists/
Exception Value: Caught an exception while rendering: Reverse for '<django.contrib.auth.decorators._CheckLogin object at 0x05016DD0>' with arguments '(7L,)' and keyword arguments '{}' not found.
Original Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\django\template\debug.py", line 71, in render_node
result = node.render(context)
File "C:\Python25\Lib\site-packages\django\template\defaulttags.py", line 155, in render
nodelist.append(node.render(context))
File "C:\Python25\Lib\site-packages\django\template\defaulttags.py", line 382, in render
raise e
NoReverseMatch: Reverse for '<django.contrib.auth.decorators._CheckLogin object at 0x05016DD0>' with arguments '(7L,)' and keyword arguments '{}' not found.
Merci pour votre aide, Pete
Veuillez publier le retraçage complet. –
slypete - essayez de supprimer tous les '{% url ...%}' de la boucle '{% for patient in patients%}' et voyez si cela empêche l'exception. Si c'est le cas, alors vous avez une inversion d'URL non résolue qui se passe quelque part. –
Échec sur tout {%%}. D'une simple impression à une inversion d'url. – slypete