2017-06-19 2 views
1

Je construis un chantier avec un blog. J'ai installé Wagtail il y a un moment et j'ai joué avec les bases. J'ai ensuite construit le site de travail (comme une application distincte dans le projet avec Wagtail installé) et c'est opérationnel.Django Wagtail dit que j'ai -1 pages, erreur d'attribut en cliquant sur l'explorateur

Maintenant (quelques mois plus tard) je cherche à travailler sur la partie blog du site. Quand je me connecte à l'admin Wagtail, il dit que j'ai "-1 pages". Lorsque je clique sur le lien « explorateur » Je reçois une erreur d'attribut:

Traceback: 

File "/home/colin/Envs/matchstaff/lib/python3.4/site-packages/django/core/handlers/exception.py" in inner 
    42.    response = get_response(request) 

File "/home/colin/Envs/matchstaff/lib/python3.4/site-packages/django/core/handlers/base.py" in _legacy_get_response 
    249.    response = self._get_response(request) 

File "/home/colin/Envs/matchstaff/lib/python3.4/site-packages/django/core/handlers/base.py" in _get_response 
    187.     response = self.process_exception_by_middleware(e, request) 

File "/home/colin/Envs/matchstaff/lib/python3.4/site-packages/django/core/handlers/base.py" in _get_response 
    185.     response = wrapped_callback(request, *callback_args, **callback_kwargs) 

File "/home/colin/Envs/matchstaff/lib/python3.4/site-packages/django/views/decorators/cache.py" in _cache_controlled 
    43.    response = viewfunc(request, *args, **kw) 

File "/home/colin/Envs/matchstaff/lib/python3.4/site-packages/wagtail/wagtailadmin/decorators.py" in decorated_view 
    24.    return view_func(request, *args, **kwargs) 

File "/home/colin/Envs/matchstaff/lib/python3.4/site-packages/wagtail/wagtailadmin/views/pages.py" in index 
    43.   parent_page = Page.get_first_root_node().specific 

Exception Type: AttributeError at /admin/pages/ 
Exception Value: 'NoneType' object has no attribute 'specific' 

Est-ce une erreur de données où il attend une page par défaut dans la base de données? (J'ai ajouté quelques pages de test quand j'ai initialement mis en place Wagtail comme preuve de concept, mais je suppose que ceux-ci ont été supprimés lors du développement de la partie chantier de l'application).

Répondre

1

Vous pouvez vérifier quelles pages existent encore si vous vérifiez l'administrateur django standard (path = /django-admin). Très probablement, il y a une page (sous wagtailcore/pages) dont content_type n'est pas Page (ou une sous-classe de Page). Vous pouvez changer le type de contenu ici et tout devrait bien se passer.

PS: Vérifiez également que la page racine est de type Page. Je viens de me rendre compte qu'il se peut aussi que la page racine soit manquante (si vous avez accidentellement supprimé toutes les pages), et que vous deviez en créer une. Cela peut également être fait dans l'admin django.

+0

Ok, je n'avais rien dans le tableau des pages. Je peux les ajouter à partir de là, mais je reçois toujours l'erreur d'attribut. Comment puis-je spécifier que c'est la page racine que j'ajoute? –

+0

La page racine possède les attributs suivants: path = 0001, slug = root, title = Root, depth = 1, content_type = page. En outre, num_child devrait être 0 si vous n'avez pas d'autres pages, mais ne devrait pas être 0 si vous avez des pages enfants – dentemm

+0

Génial, ces valeurs ont fait l'affaire. Merci. –