الأخطاء الشائعة عند نقل التطبيق جانغو من ديف لحث?

StackOverflow https://stackoverflow.com/questions/1648349

سؤال

أنا و مجموعة جانغو التطبيق على ويندوز ، SQLite و جانغو ديف الخادم .لقد نشرت هذا المضيف الخادم التي يتم تشغيل Linux, Apache, FastCgi, الخلية.

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

على أي حال, ما هي وفقا كنت الأكثر احتمالا الأخطاء التي يمكن أن تحدث عند نقل التطبيق جانغو من ديف لحث?

أفضل

تحديث:أعتقد أن ما قبل همز هو أفضل وسيلة لمعالجة هذا النوع من المشاكل.ولكن أود أن بناء قائمة الاختيار من ما يجب القيام به قبل وضعه في الإنتاج.شكرا على قيمة جدا الإجابات التي وصلتني حتى الآن :)

تحديث:لمعلوماتك, أنا 've نفذت preprod ملقم البريد الإلكتروني الإخطار كما اقترح shanyu و أنا أرى أن الخطأ يأتي من smart_if templatetag أن أنا باستخدام هذا الإصدار الجديد.أي خدعة مع قالب العلامات ؟

تحديث:أعتقد أني ثابت pb التي تسبب أعتقد طريق Filezilla FTP إرسال.لقد تم استخدام "استبدال إذا أحدث" الخيار الذي أعتقد أن يسبب بعض نتائج غير متوقعة.باستخدام "استبدال الكل" الخيار إصلاح المشكلة.إلا أنه كان فرصة لي لمعرفة المزيد عن النشر.Thansk على إجاباتك.

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

المحلول

المشاكل عادة ما يلي:

  1. تكوينها للإنتاج الإعدادات ، سواء في الإنتاج localsettings.py, wsgi/cgi أو أباتشي موقع الملفات في /etc/المواقع المتاحة
  2. قاعدة بيانات الخلافات.يمكنني استخدام جنوب عن الهجرات و قد واجهت بعض خفية القضايا عند أداء بلدي الهجرة على كيو عندما عملت بسلاسة في sqlite.
  3. ثابت ملف استضافة منذ الغش واستخدام جانغو الخادم في التنمية
  4. الأذونات على ملف النظام داخل قاعدة البيانات
  5. نادر ولكنه ممكن ، مشاكل الشبكة يمنعني من الحصول على تبعيات ، سواء على PyPi أو بعض 3rd الطرف الموقع

الطرق التي يجب التخفيف من هذه القضايا:

  • استخدام نفس قاعدة البيانات في الإنتاج والتنمية (في الحالة الخاصة بك ، الخلية في كل مكان)
  • لقد وجدت أنه من المفيد أن يكون "اختبار" البيئة الذي يحاكي الإنتاج في كل وسيلة ممكنة (يمكن أن يكون في أدنى حد الأجهزة ، أو حتى نفس الجهاز).بهذه الطريقة, إذا كان هناك أي مشاكل في هذا "الإنتاج-مثل" enivornment, لا يمكن حلها من دون أخذ بلدي خادم الإنتاج حاليا.
  • سيناريو كل شيء بالنسبة للتكرار النشر.يمكنني استخدام النسيج, لكن zc.buildout أو رصف أيضا.هذه الأدوات تساعد على تقليل الأخطاء المطبعية في حين نشر وتقليل الوقت لنشر التطبيق الخاص بي.
  • استخدام التحكم في الإصدار (الزئبقي, بوابة, التخريب) و مخطط الهجرة أداة (مثل جنوب) ، حتى إذا كان هناك شيء خطأ عند نشر الإنتاج لديك إمكانية التراجع عن التغييرات والسماح الإنتاج لتشغيل على القانون القديم مع القديم مخطط قاعدة البيانات.
  • لم ينشئ "البيض الوكيل"حتى الآن, ولكن أنا أفكر في ذلك ، لتجنب المشاكل عند تنزيل التبعيات.
  • لقد وجدت بيب تجميد تبعيات أن تكون مفيدة في حالة جديدة تتعارض تغيير إلى مكتبة حدثت منذ قمت بتحميله في البداية
  • استخدام شبكة الإنترنت إطار اختبار مثل طاحونة أو السيلينيوم لاختبار تطبيقي في "اختبار" البيئة ، بحيث يمكنني الحصول على الكثير من التغطية الاختبار من النظام بسرعة كبيرة.

نصائح أخرى

بخصوص قضيتك ، أستطيع أن أفكر 2 الأشياء البسيطة التي قد تساعدك:

  1. يمكنك تمكين جانغو لإرسال الرسائل عند حدوث استثناءات إعطاء تفاصيل عنهم.انظر هنا للحصول على التفاصيل.
  2. عليك أن تكون أفضل حالا إذا قمت بإعداد بيئة اختبار على همز الخادم (ويقول ، test.example.com) بحيث يمكنك التحقق من إذا كانت الأمور سوف تسير بسلاسة أم لا قبل نشر التطبيق.

وأعتقد أن هذه كانت دبليو لقد استمعت إلى مؤخرا (من Pycon 2009):

<اقتباس فقرة>   

وحدد موقع جانغو في العالم الحقيقي (PyCon 2009):

     

http://advocacy.python.org/podcasts/pycon.rss

     

وأجزاء 1-3

ومقدمة جيدة جدا لتصميم التطبيقات للنشر، ولا سيما لإعادة الاستخدام وإعادة الانتشار.

والبندان.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top