Django هو إطار عمل ويب معروف يسهل عملية إنشاء تطبيقات ويب قوية وقابلة للتطوير وآمنة وعالية الأداء. إنه مشروع مفتوح المصدر مكتوب بلغة Python. يمكنك الاطلاع على مزيد من المعلومات التفصيلية حول Django هنا.
يتطلب أي تطبيق ويب قاعدة بيانات كواجهة خلفية لإدارة البيانات. يدعم Django محركات قواعد بيانات مختلفة كواجهة خلفية، على سبيل المثال، MySQL, PostgreSQL, SQLite وغيرها. PostgreSQL هو نظام قواعد بيانات كائني علاقي قوي ومفتوح المصدر. وهو مشهور بموثوقيته وقابليته للتطوير وأمانه ومجموعة ميزاته القوية. يمكنك معرفة المزيد عن PostgreSQL هنا.
في هذا الدليل، سنعرض كيفية دمج PostgreSQL كواجهة خلفية في تطبيق Django نموذجي.
المتطلبات الأساسية
يتطلب العمل مع Django تكوينات معينة للنظام.
- خادم Ubuntu إصدار 21.04 مهيأ بشكل صحيح. تعرف على المزيد حول إعداد خادم Ubuntu.
- بيئة تطوير Python. تمت كتابة Django بلغة Python، لذا فهو يتطلب بيئة Python للتشغيل.
- تثبيت PostgreSQL، حيث سنستخدمه كخادم قاعدة بيانات لتطبيق Django الخاص بنا. تعرف على المزيد حول تثبيت وتكوين PostgreSQL على Ubuntu هنا.
سيعرض هذا الدليل أيضًا كيفية استخدام وحدات ومكتبات Python المختلفة والضرورية لتطبيق Django وظيفي.
الخطوة 1. تثبيت المكونات اللازمة
لكي يعمل مشروعنا، نحتاج إلى تثبيت مجموعة من الحزم المهمة على نظام Ubuntu الخاص بنا. لحسن الحظ، تتوفر جميعها مباشرة من مستودعات حزم Ubuntu الرسمية. تشمل هذه الحزم مكونات Python ومكونات قاعدة البيانات (PostgreSQL).
أولاً، افتح الطرفية وقم بتحديث ذاكرة التخزين المؤقت لحزم APT:
|
1 |
sudo apt update |
بعد ذلك، قم بتثبيت الحزم:
|
1 |
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib |
الخطوة 2. إعداد قاعدة البيانات
تم الآن تثبيت PostgreSQL وهو جاهز للاستخدام. بعد ذلك، سنقوم بإنشاء قاعدة بيانات مخصصة ومستخدم لتطبيق Django الخاص بنا. يعد وجود مستخدم مخصص مفيدًا لإدارة قاعدة البيانات والأذونات.
أثناء التثبيت، يقوم PostgreSQL بإنشاء مستخدم مخصص postgres. وهو يمتلك الإذن لتنفيذ أي مهمة إدارية على PostgreSQL. قم بالوصول إلى حساب postgres :
|
1 |
sudo su – postgres |
يجب أن تنتقل إلى جلسة shell جديدة تحت اسم المستخدم postgres. بعد ذلك، افتح واجهة تفاعل PostgreSQL:
|
1 |
psql |
سنقوم الآن بإنشاء قاعدة بيانات مخصصة لتطبيق Django الخاص بنا. يوصى بإعطائها اسمًا مطابقًا لتطبيق Django:
|
1 |
CREATE DATABASE <database_name>; |
بعد ذلك، سنقوم بإنشاء مستخدم مخصص لقاعدة البيانات. سنستخدم هذا المستخدم للوصول إلى قاعدة البيانات المخصصة لـ Django:
|
1 |
CREATE USER <username> WITH PASSWORD '<password>'; |
الخطوة التالية هي تعديل بعض معلمات الاتصال للمستخدم الجديد. يساعد هذا في تسريع عمليات قاعدة البيانات لأنه لن يتطلب الاستعلام عن القيم في كل مرة يتم فيها إنشاء اتصال. قم بتشغيل الأوامر التالية:
|
1 2 3 |
ALTER ROLE <username> SET client_encoding TO 'utf8'; ALTER ROLE <username> SET default_transaction_isolation TO 'read committed'; ALTER ROLE <username> SET timezone TO '<timezone>'; |
دعونا نلقي نظرة سريعة على تفاصيل هذه الأوامر:
-
نقوم بضبط الترميز الافتراضي على UTF-8. هذا ما يتوقعه Django عند التفاعل مع قواعد البيانات.
-
تم ضبط مخطط المعاملات الافتراضي على "read committed"، بحيث يتم حظر القراءات من المعاملات غير المعتمدة.
-
يجب ضبط المنطقة الزمنية وفقًا للموقع الجغرافي.
إذا لم تكن متأكدًا من اسم المنطقة الزمنية، فسيقوم الأمر التالي بسرد جميع المناطق الزمنية التي يدعمها PostgreSQL:
|
1 |
SELECT * FROM pg_timezone_names; |
أخيرًا، امنح المستخدم الجديد الصلاحيات الكاملة على قاعدة البيانات المخصصة لـ Django:
|
1 |
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>; |
لقد انتهى عملنا مع PostgreSQL الآن. اخرج من واجهة psql وسجل الخروج من جلسة postgres .
الخطوة 3. تثبيت Django
لقد قمنا بتهيئة خادم قاعدة البيانات اللازم لتطبيق Django الخاص بنا. الآن، سنقوم بتثبيت وتهيئة تطبيق Django المخصص. على الرغم من أن Django متاح مباشرة من مستودع Ubuntu الرسمي، إلا أننا لا نوصي باستخدام هذه الطريقة. حيث سيؤدي ذلك إلى تثبيت Django على مستوى النظام بالكامل. للحصول على مرونة أفضل وسهولة في الإدارة، سنقوم بتثبيت Django في بيئة افتراضية بدلاً من ذلك. يعد تثبيت Django وتهيئته داخل بيئة Python افتراضية ممارسة قياسية.
تحتوي Python على وحدة virtualenv التي تنشئ بيئة Python افتراضية في موقع مستهدف. تحصل البيئة على نسختها الخاصة من ملفات Python الثنائية وتكويناتها. لن يكون لإجراء التغييرات داخل البيئة الافتراضية أي تأثير على بقية النظام.
قم بتثبيت virtualenv:
|
1 |
sudo apt install virtualenv |
بعد ذلك، هدفنا هو الحصول على دليل مخصص لإنشاء بيئة Python الافتراضية. وسيكون بمثابة الأساس لتطبيق Django الخاص بنا. للتوضيح، سيكون اسم تطبيقنا هو sample_app. قم بإنشاء دليل جديد:
|
1 |
mkdir -pv <dir_name> |
قم بتغيير الدليل النشط الحالي وأنشئ البيئة الافتراضية:
|
1 2 |
cd sample_app/ virtualenv sample_app_env |
بعد ذلك، قم بتنشيط البيئة الافتراضية:
|
1 |
source sample_app_env/bin/activate |
البيئة الافتراضية جاهزة وتعمل الآن. بعد ذلك، سنستخدم pip لتثبيت Django و psycopg2 (وهو محول Python لـ PostgreSQL):
|
1 |
pip install django psycopg2 |
أخيرًا، يمكننا إنشاء مشروع Django جديد باستخدام أدوات Django. سيؤدي ذلك إلى إنشاء دليل فرعي بنفس الاسم يستضيف جميع الأكواد وبرنامج نصي للإدارة في الدليل الحالي:
|
1 |
django-admin startproject <project_name> . |
الخطوة 4. تهيئة مشروع Django
يحتوي مشروع Django على جميع الأدوات الأساسية للعمل كتطبيق ويب. لدمجه مع قاعدة البيانات الخاصة بنا، سنحتاج إلى إجراء بعض التعديلات في ملفات التهيئة الخاصة به.
افتح الملف settings.py في محرر نصوص:
|
1 |
nano settings.py |
قم بالتمرير لأسفل إلى قسم DATABASES . بشكل افتراضي، تم تهيئته لاستخدام SQLite:
لهدفنا، قم بتغيير الكود على النحو التالي:
|
1 2 3 4 5 6 7 8 9 10 |
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '<db_name>', 'USER': '<db_user>', 'PASSWORD': '<db_user_password>', 'HOST': 'localhost', 'PORT': '', } } |
هنا، نخبر Django باستخدام محول psycopg2 للاتصال بقاعدة البيانات. نعلن أيضًا عن جميع معلومات قاعدة البيانات اللازمة مثل اسم قاعدة البيانات بالإضافة إلى اسم المستخدم وكلمة المرور للمستخدم المخصص.
بمجرد الانتهاء، احفظ الملف وأغلق المحرر.
الخطوة 5. ترحيل قاعدة البيانات
تم تهيئة Django للوصول إلى قاعدة بيانات PostgreSQL الخاصة بنا. يمكننا الآن ترحيل بنية البيانات إلى قاعدة البيانات الخاصة بنا. في Django، يُعرف هذا باسم migration.
لترحيل تغييرات قاعدة البيانات، قم باستدعاء برنامج الإدارة النصي manage.py:
|
1 |
python manage.py makemigrations |

|
1 |
python manage.py migrate |
بعد ذلك، أنشئ مستخدمًا متميزًا لتطبيق Django الخاص بنا:
|
1 |
python manage.py createsuperuser |
سيعمل حساب المستخدم المتميز هذا كحساب مسؤول لتطبيق Django الخاص بنا.
الخطوة 6. اختبار التغييرات
حتى الآن، أجرينا تعديلات متعددة على تطبيق Django الخاص بنا. حان الوقت للتحقق مما إذا كان كل شيء يعمل كما هو متوقع. سنتحقق من ذلك عن طريق تشغيل التطبيق والوصول إلى لوحة التحكم.
بما أننا نطور تطبيق Django محليًا، فسنقوم بتشغيل الخادم على localhost. وجريًا على العادة، سنقوم بتشغيله على المنفذ 8000. إذا كان لديك جدار حماية مهيأ، فيجب عليه السماح بمرور البيانات إلى المنفذ 8000. تعرف على المزيد حول أساسيات UFW هنا.
قم بتشغيل خادم Django:
|
1 |
python manage.py runserver localhost:8000 |
الوصول إلى عنوان URL على المتصفح:
|
1 |
http://localhost:8000 |
يجب أن تصل إلى صفحة نجاح تثبيت Django. للوصول إلى صفحة إدارة Django، انتقل إلى عنوان URL التالي:
|
1 |
http://localhost:8000/admin |
تحتاج إلى استخدام المستخدم المتميز الذي أنشأناه لتسجيل الدخول:
ها قد وصلنا! لقد وصلنا بنجاح إلى لوحة التحكم!
بمجرد الانتهاء من الاستكشاف، اضغط على Ctrl + C من وحدة التحكم لإيقاف خادم Django.
أفكار نهائية
في هذا الدليل، نجحنا في توضيح كيفية إنشاء تطبيق Django تجريبي وتكوين PostgreSQL كقاعدة بيانات خلفية له. في حين أن SQLite كافية بشكل عام لتلبية الاحتياجات أثناء التطوير (والاستخدام الخفيف في بيئة الإنتاج)، فإن معظم المشاريع ستستفيد بشكل كبير من الانتقال إلى نظام إدارة قواعد بيانات (DBMS) أكثر تكاملاً وملاءمة للميزات. تعد PostgreSQL خيارًا رائعًا للأداء وقابلية التوسع.
إن Django هو إطار عمل ويب متعدد الاستخدامات يمكنه العمل مع العديد من التقنيات. ألقِ نظرة على المزيد من أدلة السحابة التي توضح استخدام Django:
- إعداد Django مع PostgreSQL و Nginx و Gunicorn على Ubuntu 20.04
- بناء تطبيق Django و Gunicorn باستخدام Docker على Ubuntu
- كيفية تأمين وتوسيع تطبيق Django باستخدام Docker و Nginx و Let’s Encrypt
- إنشاء تطبيق Django مع اتصال بقاعدة البيانات: دليل تعليمي
حوسبة سعيدة!






















التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.