محمدرضا عسگری
محمدرضا عسگری
خواندن ۳ دقیقه·۶ سال پیش

استفاده از mongoDB در Django

فریمورک جنگو امکان ارتباط با چندین دیتابیس را به صورت پیش فرض برای برنامه نویسان فراهم کرده است از جمله این دیتابیس ها می توان به SQLite,MySQL,PostgreSQL اشاره کرد

می توانید اطلاعات کامل در مورد نحوه اتصال به دیتابیس ها در جنگو را اینجا مشاهده کنید

ولی ممکن است شما به هر دلیلی نیاز به دیتابیسی داشته باشید که در لیست بالا وجود نداشته باشد اگر به هر دلیلی می خواهید mongoDB را به عنوان دیتابیس وب سایت خود در نظر بگیرید این مقاله را دنبال کنید(در اینجا به مزایا و معایب mongoDB نمی پردازیم و فقط توضیح می دهیم اگر شما به این نتیجه رسیدید که داده های وب سایت خود را در mongo نگهداری کنید راهکار چیست)

شما می توانید در بدون استفاده از مدل های جنگو نیز وب سایت خود را به هر دیتابیسی متصل کنید و کار خود را راه بیاندازید ولی با استفاده از api های که جنگو برای مدل ها در نظر گرفته است به راحتی و بدون نیاز به یاد گیری دستورات هر دیتابیس می توانید اطلاعات را بخوانید,بروز رسانی کنید و یا پاک کنید

برای این کار دو کتابخانه djnogo و django-mongodb-engine طراحی شده اند که به شما این امکان را می دهند که بدون نگرانی از این که دیتابیس چه چیزی هست اپ جنگو خود را توسعه دهید و یا اگر اپ شما از قبل نوشته شده است با تغییراتی کوچک ان را اماده برای اتصال به mongo کنید

من   djongo  دلیل این انتخاب هم  شفاف بودن مستندات و سادگی استفاده است ولی شما می توانید هرکدام از این دو کتابخانه را استفاده کنید

برای استفاده از این کتابخانه ابتدا باید مونگو بر روی سیستم شما نصب باشد برای اطلاع از چگونگی نصب به مستندات مونگو مراجعه کنید

(mongodb نیز کاربران ایرانی رو تحریم کرده برای عبور از تحریم ها می توانید از هر روشی که فکر می کنید و بلد هستید استفاده کنید همچنین می تونید به این مطلب یه سری بزنید)

برای استفاده از djongo توصیه می شود از mongodb نسخه  ۴٫۶ یا بالاتر استفاده شود

(mongodbبر روی سیستم های گنو/لینوکس یه سرویس است و ممکن است پس از نصب یا هر بار بوت سیستم نیاز به روشن کردن داشته باشد بدین منظور می توانید از دستور

sudo service mongo start

استفاده کنید همچنین systemctl نیز این کار را انجام می دهد در صورتی که mongo به درستی نصب باشد و سرویس ران باشد با دستور mongo یا sudo mongo وارد خط فرمان mongo می شوید اگر با زدن این دستور اروری دریافت کردید سرچ کنید !)

و پایتون ۳٫۶

(اگر می خواهید اپ خود را در محیط های مانند virtualenv استفاده کنید نصب پایتون ۳٫۶ بسیار ساده است همچنین می توانید python3 پیش فرض سیستم خود را به ۳٫۶ تغییر دهید )

و در نهایت کتابخانه djongo با دستور

pip install djongo

به راحتی نصب می شود نیاز به توضیح نیست که برخی از محیط با توجه تنظیماتی که انجام شده نیاز به مجوز روت برای نصب پکیج هست و باید از sudo استفاده شود

حالا کافی است در فایل settings.py در بخش دیتابیس engine را به djongo تغییر دهید مانند کد زیر:

DATABASES = { 'default': { 'ENGINE': 'djongo', 'NAME': 'your-db-name', } }

اگر مشکلی وجود نداشته باشد با دستور

python manage.py migrate

می توانید تغییرات را به دیتابیس جدید منتقل نمایید

جنگوmondodjango
توسعه دهنده وب علاقه مند به نرم افزار ازاد https://mrasgari.ir
شاید از این پست‌ها خوشتان بیاید