آموزش هایی برای پایتون ، جنگو و توسعه ی وب اپلیکیشن

نویسنده : آرش ارزنده نیا

در ابتدا تنها یک متخصص شبکه های مایکروسافتی بودم ، کم کم به دنیای سیسکو و محیط های کامند لاینی علاقه مند شدم ، همزمان لینوکس رو هم توی پروژه هام دخیل میکردم ، چون در زمان دانشجویی تسلط خوبی روی طراحی وب سایت داشتم شروع کردم به نوشتن نرم افزارهای تحت وب ، تا مدت ها با php تمام پروژه هامو انجام میدادم ، گهگاهی هم با سی شارپ ، تا اینکه سوییچ کردم روی پایتون ، از اینجا به بعدش رو با هم تو این بلاگ میگذرونیم

ایجاد سرور مخصوص توسعه ی جداگانه از سرور اصلی


یکی از مشکلات مسخره خیلی از برنامه نویسان و توسعه دهندگان مربوط به توسعه ی دوباره یک پروژه می باشد. در پایتون با وجود قابلیتی به نام virtualenv(که احتمالا از قبل با آن آشنایی کامل را دارید) این مشکل به خوبی قابل حل خواهد بود.

در این مقاله میخواهم یک راه سریع و بدون دردسر را برای ایجاد یک سرور موازی برای Development در کنار سرور اصلی Production را بررسی کنیم

 

سناریو :

فرض کنید سال پیش یک پروژه جنگو را به یکی از مشتریان خود تحویل داده‌اید در این مدت امکان دارد چند تا تغییر کوچک را مستقیماً بر روی سرور ‌Production انجام داده باشید اما مجدداً یک درخواست مبنی بر انجام یک سری تغییرات بنیادین و زمان گیر به شما داده می‌شود ، اصلاً منطقی نیست که اگر سرور Production زیر بار هست اقدام به انجام تغییرات به صورت Live بکنید.

 

حالا چه کنیم :

خیلی ساده از دایرکتوری خود جنگو(بدون دایرکتوری virtualenv) با استفاده از FTP یک بک آپ بگیرید بر روی سیستم خودتان.

حالا روی سیستم خودتان یک محیط virtualenv خشک و خالی برای پروژه ایجاد کنید (حواستان به نسخه پایتون مورد استفاده باشه !!!)

از روی سرور Production به محل دایرکتوری Virtualenv بروید و با دستور زیر لیست تمام Package های نصب شده با PIP را استخراج کنید.

path/to/virtualenv/bin/pip freeze --local

حالا روی سرور خودتون یک فایل تکست ایجاد کنید و عیناً خروجی دستور قبل را بر روی آن Paste کنید حالا با pip برید و کل package ها رو یکباره نصب کنید.

pip install -r .txt

 

تمومه

فقط یک نکته کوچک ، قطعاً آدرس ‌Url شما با نسخه ی اصلی فرق خواهد داشت پس به تنظیمات جنگو رفته تا آدرس جدید را (که احتمالاً آدرس آی پی شما می باشد) را به لیست ‌ALLOWED_HOSTS اضافه کنید


; Admin Django Password Shell django filter form get python query required جنگو فرم پایتون

نظرات شما :