brew install openldap قم بإنشاء بيئة افتراضية وقرص cd لها
python3 -m venv ENV
cd ENV
استنساخ repo إلى دليل فرعي (على سبيل المثال. git clone REPO_URL src )
تنشيط البيئة الافتراضية
source bin/activate
cd إلى دليل SRC الجديد وتثبيت متطلبات
cd src
pip install -r requirements.txt
ملاحظة: إذا pip install بإرجاع كتلة من نص الخطأ بما في ذلك fatal error: 'sasl.h' file not found عند تثبيت python-ldap ، قم بما يلي:
في المتطلبات. txt ، قم بالتعليق على متطلبات python-ldap .
إعادة تشغيل pip install -r requirements.txt . يجب أن يكمل بنجاح.
قم بتشغيل ما يلي ، واستبدال "الإصدار" برقم الإصدار المحدد لحزمة python-ldap في المتطلبات. txt:
pip install python-ldap==VERSION
--global-option=build_ext
--global-option="-I$(xcrun --show-sdk-path)/usr/include/sasl"
قم بإلغاء تحديد متطلبات python-ldap في المتطلبات. txt وحفظ الملف.
قم بإعداد الإعدادات المحلية باستخدام ملف SETETS_LOCAL.TEMPHITION
إعداد static_files/static/robots.txt باستخدام static_files/static/robots.templ.txt
تشغيل أمر النشر: python manage.py deploy . هذا يدير أي ترحيل ويجمع الملفات الثابتة.
إنشاء Superuser: python manage.py createsuperuser
إذا كنت لا تنوي استيراد أي بيانات تقويم موجودة ، فقم بإنشاء تقويم رئيسي وتعيين حساب Superuser الخاص بك كمالك. خلاف ذلك ، تخطي هذه الخطوة
python manage.py shell
>>> from django.contrib.auth.models import User
>>> from events.models import Calendar
>>> u = User.objects.get(pk=1)
>>> c = Calendar(title='Events at UCF', owner=u)
>>> c.save()
>>> exit()
لاحظ أنه يجب تشغيل هذا المستورد فقط على قاعدة بيانات جديدة ، مباشرة بعد تشغيل python manage.py syncdb أو python manage.py flush .
قبل تشغيل هذا الاستيراد ، تأكد من إنشاء مستخدم جديد في Django لكل مستخدم غير قائم على نظام UNL. ستفشل أحداث هؤلاء المستخدمين في الاستيراد خلاف ذلك.
قرص مضغوط إلى مجلد البيئة الافتراضية الجديدة SRC
تنشيط البيئة الافتراضية
source ../bin/activate
أضف معلومات قاعدة بيانات الأحداث القديمة إلى الإعدادات _local.py ضمن اسم قواعد البيانات "unlevents". تأكد من ضبط enable_clearcache على "false".
تشغيل أمر الاستيراد
python manage.py import-unl-events
أعد تشغيل التطبيق
حظر ذاكرة التخزين المؤقت حسب الضرورة
قرص مضغوط إلى مجلد البيئة الافتراضية الجديدة SRC
تنشيط البيئة الافتراضية
source ../bin/activate
تأكد من تعيين MAPS_DOMAIN و LOCATION_DATA_URL في SETTESS_LOCAL.PY ، وأنه يتم تعيين enable_clearcache على "false".
تشغيل أمر الاستيراد
python manage.py import-locations
أعد تشغيل التطبيق
حظر ذاكرة التخزين المؤقت حسب الضرورة
لا تلتزم أبدا مباشرة إلى الماجستير. قم بإنشاء فرع أو شوكة والعمل على الميزة الجديدة. بمجرد اكتماله ، سيتم دمجه مرة أخرى على الفرع الرئيسي.
إذا كنت تستخدم فرعًا لتطوير ميزة ، فتأكد من حذف الفرع القديم بمجرد دمجه لإتقانه.
يستخدم هذا المشروع Gulp للتعامل مع المهام المختلفة ، مثل تجميع ملفات SASS وإرهاقها وإرشاد/uglification JavaScript. استخدم الخطوات التالية لإعداد Gulp لهذا المشروع.
npm install من دليل الجذر لتثبيت حزم العقدة المحددة في package.json.gulp-config.template.json ، وقم بإجراء أي تغييرات مرغوبة ، وتوفير كـ gulp-config.json .gulp default لتثبيت جميع المكونات الأمامية وتجميع الأصول الثابتة.gulp watch أثناء التطوير للكشف عن تغييرات الملف الثابت تلقائيًا. عند اكتشاف تغيير ، سيتم تشغيل أوامر التصغير والتجميع تلقائيًا. إذا قمت بتمكين Browsersync في gulp-config.json ، فسيتم إعادة تحميل متصفحك أيضًا عند تغيير ملفات SCSS أو JS.static_files/static/ ) إلى الريبو عند إجراء تغييرات على الملفات الثابتة. جميع الأنماط المخصصة الخام لهذا المشروع موجودة في ملفات SASS منفصلة في static_files/assets/scss/ . عند تعديل أوراق الأنماط في هذا المشروع ، قم فقط بتعديل الملفات في هذا الدليل ؛ لا تقم بتعديل الملفات في static_files/static/css/ مباشرة ! ملفات SASS تجمع وتكتب إلى هذا الدليل.
يتم فصل ملفات SASS الجزئية بشكل عام عن طريق الوظيفة ، ويجب تجميعها بترتيب محدد.
يجمع هذا المشروع بين مكتبات البائع JavaScript مع عدد أقل من الملفات التي يجب تسليمها إلى العميل. تضع القائمة أدناه مخطط التسلس/الإلهاء الأساسي.
يتم استرداد البرامج النصية التي تحمل علامة *vendor* كحزم NPM وتسلسلها في ملفات المشروع التي تتضمنها أثناء معالجة GULP.
البرامج النصية التي تحمل علامة *project* هي البرامج النصية التي يحتفظ بها هذا المشروع ويمكن أن تكون موجودة في static_files/assets/js . لا تقم بتعديل الملفات في static_files/static/js/ مباشرة .
بالإضافة إلى البرامج النصية المذكورة أعلاه ، يتم نسخ مكتبة Tinymce في دليلها الفرعي الخاص ، static_files/static/js/wysiwyg ، أثناء معالجة Gulp. يتوقع Tinymce ، افتراضيًا ، أن تكون موضوعاتها ومكوناتها الإضافية والجلود في الدلائل الفرعية بالنسبة إلى الدليل الجذري لنص Tinymce الأساسي ، لذلك نحافظ على بنية الدليل بأقصى قدر ممكن مع الاستمرار في اختيار الإضافات/الجلود المحددة فقط لنظام الأحداث لتجنب الضرب في الإصدار.
نطبق أيضًا التخصيصات على الجلد الافتراضي Tinymce ، "Lightgray" ، بعد أن ينتهي دليله من النسخ من دليل المكونات. يجب تعديل هذه التخصيصات في static_files/assets/scss/content.scss .