سؤال

أنا جديد جدًا في استخدام Django وبالتالي تطبيق Django-cms.

لقد اتبعت البرنامج التعليمي خطوة بخطوة:(من الموقع الرسمي ) على جهاز جديد ولدي كل شيء تمامًا كما يفعل البرنامج التعليمي ولكن ما زلت لا أستطيع الوصول إلى أي مكان.

وصلت إلى الخطوة الأخيرة في عملية الإعداد وينتهي كل شيء، عندما أقوم بتشغيل:

python manage.py syncdb --all

أحصل على الخطأ التالية:

CommandError: One or more models did not validate:
cms.page: 'site' has a relation with model <class 'django.contrib.sites.models.Site'>,     which has either not been installed or is abstract.
cms.globalpagepermission: 'sites' has an m2m relation with model <class 'django.contrib.sites.models.Site'>, which has either not been installed or is abstract.

لتوضيح هذا يحدث في الخطوة 1.3.2.1.تثبيت جديد في البرنامج التعليمي

1.3.2.1.تثبيت جديد

Run:

python manage.py syncdb --all
python manage.py migrate --fake

لا يعمل أي من هذه الأوامر، وكلاهما يؤدي إلى الخطأ أعلاه.

لست متأكدًا من كيفية حل هذه المشكلة أو حتى العثور على مصدر لمعرفة سبب مشكلتي، لقد أمضيت فترة قصيرة من الوقت في كل من Google وStackoverflow للبحث عن إجابات بدون نتيجة، ولم أتمكن من تحديد النقطة المشكلة التي ربما تجعل الأمور أكثر صعوبة بالنسبة لي.

أي مساعدة هي محل تقدير كبير.

الكود الخاص بي هو تمامًا نفس البرامج التعليمية ولهذا السبب لم أنشر أيًا منها.

هل كانت مفيدة؟

المحلول

أعتقد أنك تستخدم الإصدار الجديد من Django 1.6.هناك sites لم يعد يتم تضمين التطبيق بشكل افتراضي في مشروعك.وكما يبدو django-cms يعتمد عليه.

يمكنك إضافته بسهولة إلى قائمة التطبيقات الممكّنة في جهازك settings.py الملف، في INSTALLED_APPS قائمة:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',    # <----- here!
    ...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top