web-dev-qa-db-fra.com

Django: TemplateSyntaxError: Impossible d'analyser le reste

Je reçois ce problème lorsque je tape localhost:8000/admin/.

`TemplateSyntaxError: Impossible d'analyser le reste: ': password_change' à partir de 'admin: password_change'. La syntaxe de 'url' a changé dans Django 1.5, voir la documentation.

Voici une partie de mon settings.py:

INSTALLED_APPS = (
    'Django.contrib.auth',
    'Django.contrib.contenttypes',
    'Django.contrib.sessions',
    'Django.contrib.sites',
    'Django.contrib.messages',
    'Django.contrib.staticfiles',
    'grappelli',
    'filebrowser',
    # Uncomment the next line to enable the admin:
     'Django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    #'Django.contrib.admindocs',
     'tinymce',
     'sorl.thumbnail',
     'south',
     'Django_facebook',
     'djcelery',
     'devserver',
     'main',
)
AUTH_USER_MODEL = 'Django_facebook.FacebookCustomUser'

AUTHENTICATION_BACKENDS = (
    'Django_facebook.auth_backends.FacebookBackend', 
    'Django.contrib.auth.backends.ModelBackend',
    # Uncomment the following to make Django tests pass:
    'Django.contrib.auth.backends.ModelBackend',
)

Ai-je fait quelque chose de mal?

PS: Ceci est ma traçabilité complète https://Gist.github.com/anonymous/e8c1359d384df7a6b405

MODIFIER:

Je colle la sortie de grep selon la demande:

$ ack-grep --type=python -r ':password_change' .
lib/python2.7/site-packages/Django/contrib/admin/sites.py
264:url = reverse('admin:password_change_done', current_app=self.name)

lib/python2.7/site-packages/grappelli/dashboard/dashboards.py
147:reverse('%s:password_change' % site_name)],

$ ack-grep --type=html -r ':password_change' .
lib/python2.7/site-packages/Django/contrib/admin/templates/admin/base.html
36:<a href="{% url 'admin:password_change' %}">{% trans 'Change password' %}</a> /

lib/python2.7/site-packages/grappelli/templates/admin/includes_grappelli/header.html
12:{% url admin:password_change as password_change_url %} 
36
xpanta

Cette erreur signifie généralement que vous avez oublié une citation de clôture quelque part dans le modèle que vous essayez de restituer. Par exemple: {% url 'my_view %} (faux) au lieu de {% url 'my_view' %} (correct). Dans ce cas, c'est le côlon qui cause le problème. Normalement, vous devez éditer le modèle pour utiliser le {% url %}syntaxe .

Mais il n’ya aucune raison pour que Django le site admin jette cela, car il connaîtrait sa propre syntaxe. Ma meilleure hypothèse est donc que grapelli est la cause de votre problème car il modifie la modèles d'administrateur. Est-ce que la suppression de grappelli des applications installées vous aide?

82
Garry Cairns