Question

J'ai décidé de jeter un oeil à django-cm. Après avoir examiné les documents que je cloné le dépôt en utilisant

git clone https://github.com/divio/django-cms.git

Ensuite, je l'ai installé en utilisant

sudo python setup.py install

J'ai déjà django 1.2.3 installé. Je me suis déplacé dans le répertoire example un syncdb RAN qui a créé les tableaux suivants:

Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_admin_log
Creating table django_site
Creating table sampleapp_category
Creating table sampleapp_picture
Creating table south_migrationhistory



You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes...

On peut voir clairement que les tables CMS ne sont pas créés. Je suis face à ce problème de toute évidence lors de l'exécution du serveur et la navigation http://localhost:8000/

DatabaseError: no such table: cms_page

Je l'ai regardé les docs et vu que je rencontre les exigences en ce qui concerne les versions, mais clairement, je fais quelque chose de mal. Toute aide serait grandement appréciée.

Était-ce utile?

La solution

django-CMS utilise Sud pour les migrations de bases de données. Les modèles traités par du Sud ne sont pas synchronisés à la base de données en utilisant syncdb. Vous devez utiliser manage.py migrate .

Puisque vous ne disposez pas des tables et des données de django-CMS à migrer, une solution plus rapide serait ce processus:

  • commentaire sur 'south' dans votre INSTALLED_APPS
  • run manage.py syncdb (cela va créer toutes les tables de django-cm)
  • réactivez au sud dans votre INSTALLED_APPS
  • run manage.py migrate --fake

La prochaine fois que vous mettez à jour django-CMS, vous pouvez alors exécuter manage.py migrate de mettre à jour vos tables de base de données.

Autres conseils

Avez-vous mis 'cms' à INSTALLED_APPS en settings.py? Django-CMS nécessite en outre également menus, publisher et mptt installé ainsi que certains middleware. C'est un peu agréable de lire la documentation sur elle!

En général, si les tables ne sont pas créés il peut y avoir des erreurs dans l'application elle-même: essayez d'exécuter shell Django et importer un modèle de l'application:

python manage.py shell

>>> from csm import models

et vérifiez si vous obtenez un retraçage.

Hope cette aide peut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top