Django:Getting started
از PyLearn.com
| کتاب یک بایت از پایتون • نکته ها و ترفند ها • ماژول ها • نمونه پروژه •منابع آموزشی•نرم افزارهای جانبی•کتابخانههای داخلی و خارجی• پرسش و پاسخ |
فهرست مندرجات |
مقدمه
خوشبختانه نصب و استفاده از جنگو بسیار آسان می باشد . در حقیقت یکی از مهمترین اهداف این فریم ورک تسهیل هرچه بیشتر برنامه نویسی وب می باشد . این وریم ورک تماما با زبان برنامه نویسی پایتون پیاده سازی شده است . پس برای کار به پایتون نیازمند است . این فریم ورک هر جایی که پایتون نصب باشد قادر به اجرا بوده و با توجه به خاصیت چندین پلتفرمه پایتون و قابلیت نصب مفسر پایتون در اکثر سیستم عامل های موجود این فریم ورک نیز در اکثر سیستم عامل ها قابل نصب و استفاده می باشد .
نصب جنگو
همانطور که گفتیم پایتون برای کار به پایتون نیازمند است . پس در اولین مرحله مفسر پایتون (>2.3) را نصب کنید . مفسر پایتون تقریبا بر روی تمامی سیسام عامل های مبتنی بر یونیکس و لینوکس و همچنین مک اواس ایکس (MAC OS X) نصب می باشد . کاربران ویندوز باید قبل از نصب جنگو مفسر پایتون را نصب کنند .
برای نصب جنگو ابتدا از سایت رسمی آن آخرین نسخه این نرم افزار را دانلود کنید . جنگو از سیستم استاندارد نصب ماژول های پایتون (distutils) استفاده می کند . پس از دانلود با یک نرم افزار مدیر فایل های فشرده فایل را از حالت فشرده خارج کنید . با استفاده از محیط متنی (terminal, cmd, console و ...) وارد پوشه جنگو شوید و دستور زیر را اجرا کنید :
در صورتی که تمامی مراحل نصب بدرستی انجام گیرد فریم ورک جنگو بدرستی نصب خواهد شد . برای اطمینان وارد محیط مفسر پایتون شده و دستور زیر را وارد کنید :
اگر این دستور بدون مشکل اجرا گردد بدان معنی است که فریم ورک جنگو با موفقیت نصب شده است .
نصب و راه اندازی پایگاه داده
تنها نیازمندی اجباری فریم ورک جنگو مفسر پایتون می باشد و بجز این مورد به ابزار یا نرم افزار دیگری وابسته نیست . اما معمولا سرور های پایگاه داده و ذخیره اطلاعات جزی مهم از برنامه نویسی وب می باشد . پس در این مرحله احتمالا نیاز خواهید داشت یکی از سرور های قابل استفاده با جنگو را نصب و راه اندازی کنید .
لازم به توزیح است که پایگه داده SQLite که قابل استفاده در جنگو است نیازی به نصب سرور یا نرم افزار خاصی نداشته و بصورت مستقیم می توان فایل های این پایگاه داده را ایجاد و استفاده کرد . پس برای سایت های کوچک با تست و یا موارد خاص اهمیت خاصی را دارا می باشد .
البته نصب ترم افزار پایگاه داده اجباری نیست . پس در صورتی که به پایگاه داده نیازی ندارید می توانید از این بخش صرف نظر کنید .
جنگو از ۵ پایگاه داده مهم و معمول بطور کامل پشتیبانی می کند .
سرور پایگاه داده PostgreSQL اخیرا پیشرفت بسیار خوبی داشته و با توجه به آزاد و اپن سورس بودن این سرور و نیز پیشنهاد از سوی نویسندگان و توسعه دهندگان فریم ورک جنگو ترجیح داده می شود .
استفاده از PostgreSQL
اگر قصد استفاده از سرور پایگاه داده PostgreSQL را در نرم افزار وب خود دارید از نصب ماژول پایتون psycopg که برای اتصال برنامه های نوشته شده با پایتون به این پایگاه داده نیاز است اطمینان حاصل کنید . چون نسخه دوم این ماژول در مرحله آزمایشی قرار دارد نسخه اول را انتخاب کنید .
در صورتی که از سیستم عامل ویندوز استفاده می کنید می توانید نسخه باینری این ماژول را از این آدرس دانلود کنید .
استفاده از SQLite 3
برای استفاده از پایگاه داده مبتنی بر SQLite شما نیاز با ماژول پایتون pysqlite دارید . این پایگاه داده بصورت مستقیم توسط نرمافزار ایجاد و اطلاعات بصورت مستقیم در داخل فایلی ذخیره می گردد و نیاز به راه اندازی سرور نمی باشد . پس برای شروع گزنیه مناسبی می باشد .
استفاده از MySQL
جنگو از سرور نسخه 4 یا بالاتر این پایگاه داده پشتیبانی می کند . برای استفاده از این پایگاه داده قدرتمند و پرکاربرد باید ماژول پایتون MySQLdb نصب باشد .
عدم استفاده از پایگاه داده
همانطور که گفته شد جنگو بدون پایگاه داده نیز قابل استفاده است . ممکن هست سایت مد نظر شما به پایگاه داده نیازی نداشته باشد . اما در این حالت برخی از ویژگی های جالب و مهم جنگو در دسترس نخواد بود . پس حدالمکان سعی کنید یکی از موارد فوق را انتخاب و استفاده کنید .
شروع اولین پروژه
در اولین گام برای شروع پروژه باید برخی فایل های مورد نیاز را ایجاد کنید . این فایل ها اطلاعات سایت مورد نظر را د رخود ذخیره خواهد کرد . و نیز دارای مکانیزمی برای اجرا و مدیریت سایت در حال توسعه می باشد . برای این منظور از دستور django-admin.py استفاده خواهیم کرد . در سیستم عامل ویندوز این فایل در مسیر اصلی مفسر پایتون و داخل پوشه scripts و در سیستم عامل لینوکس معمولا در مسیر site-packages/django/bin/ از زیر شاخه های مسیر اصلی مفسر قرار دارد . پس قبل از اجرا از ست بودن مسیر در متغییر محیطی PATH اطمینان حاصل کنید . اکنون بصورت متنی به محل مورد نظر برای ایجاد پروژه رفته و دستور زیر را وارد کنید :
پوشه ای با نام myblog در مسیر جاری ایجاد می گردد که شامل تعدادی فایل حاوی اطلاعاتی از تنظیمات پایگاه داده ، نرم افزار وب در حال توسعه و برخی تنظیمات مورد نیاز جنگو می باشد . پروژه ایجاد شده دارای سه بخش اصل می باشد که در فایل هایی جداگانه ذخیره شده است .
در اکثر برنامه های تحت وب کد های نوشته در مسیری قابل رویت از اینترنت و در دسترس وب سرور قرار می گیرند . برای مثال در لینوکس و در وب سرور آپاچی در مسیری چون /var/www/ . این امر باعث کاهش امنیت سایت مورد نظر می گردد . با استفاده از فریم ورک جنگو می توان پروژه و کد های آن را در هر مسیر دلخواهی ذخیره نمود . بدین ترتیب اطلاعات و کدهای برنامه بسیار امن خواهد بود و از دسترس کاربران یا هکر های احتمالی در امان خواهد ماند .
بخش های اصلی یک پروژه جدید
- manage.py : یک ابزار متنی که امکانات زیادی را برای کار با پروژه در حال توسعه و اجرایی دستورات مختلف فراهم می کند . دستوراتی چون اجرای یک سرور مستقل برای تست یا کار با پایگاه داده
- setting.py : این فایل حاوی تنظیمات و اطلاعات پروژه جاری می باشد .
- urls.py : این فایل حاوی تعریف آدرس های وب سایت جاری می باشد . در این فایل هر مسیر اینترنتی (URL) بمنظور اجرا به کدهای مربوط مربوط می شود . با درخواست مسیری که در یکی از این آدرس های تعریف شده صدق کند کد مربوطه برای پردازش درخواست اجرا و نتیحه به کاربر درخواست کننده ارسال می گردد ..
سرور مستقل جنگو
همانطور که قبلا اشاره شد جنگو دارای یک وب سرور کوچک و درونی مستقل می باشد که بمنظور تست در طی فرایند برنامه نویسی کاربرد دارد . از این وب سرور کوچک تنها به منظور تست استفاده می گردد و برای استفاده عملی و حرفه ای یا مرحله انتشار (production) برنامه کاربرد ندارد . این وب سرور بدون نیاز به تنظیمات خاص قابل استفاده بوده و باعث سهولت توسعه نرم افزار می گردد . وب سرور جنگو بصورت خودکار تغییرات اعمال شده را شناسایی و نمایش می دهد . پس نیازی به راه اندازی مجدد آن در طی تغییرات سایت و توسعه آن نمی باشد . برای اجرای وب سرور مذکور به داخل پوشه پروژه رفته و دستور زیر را اجرا کنید :
خروجی دستور شبیه به حالت زیر خواهد بود :
Validating models... 0 errors found. Django version 0.96.1, using settings 'myblog.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
اکنون با مراجعه با آدرس http://127.0.0.1:8000 متنی را مشاهده خواهید کرد که نشانگر عدم وجود مشکل در روند کار می باشد .
دستور فوق یک وب سرور محلی و کوچک را اجرا کرد . پروت پیشفرض ۸۰۰۰ می باشد و نیز آی پی (IP) پیش فرض آپی محلی سیستم . در این حالت تنها از کامپیوتر جاری می توان سایت در حال توسعه را مرور کرد . می توان با ارسال پارامتر به دستور فوق هر کدام از این موارد را به دلخواه تغییر داد . برای مثال کد زیر :
این کد پورت ۸۰۸۰ را باز کرده و منتظر دریافت درخواست می شود . این درخواست می تواند علاوه بر سیستم جاری از سایر سیستم های متصل به سیستم مورد نظر نیز باشد .
در مراحل بعدی شروع به نوشت کد و توسعه برنامه مورد نظر خواهیم کرد .

