القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

إذا كنت قد أنشأت محفظة أو تطبيقًا نموذجيًا باستخدام Django ، فستكون استضافته مجانًا على Vercel مجرد نقرات قليلة وجزء صغير من التعليمات البرمجية بعيدًا. اعتاد Heroku أن يكون منقذًا ، لكنه توقف عن تقديم استضافة مجانية في عام 2022.

باستخدام Vercel ، يمكنك نشر تطبيقك مباشرةً من GitHub مجانًا ، ويمكن لأي شخص الوصول إليه من أي مكان. إليك كيفية القيام بذلك.

تكوين تطبيق Django الخاص بك لـ Vercel

ستحتاج إلى تهيئة بعض الجوانب من مشروع Django قبل أن تتمكن من نشره في Vercel.

قم بتكوين ملف vercel.json

أولاً ، تحتاج إلى إنشاء ملف vercel.json في المجلد الجذر لمشروعك لتوجيه Vercel إلى واجهة بوابة خادم الويب (WSGI) لتطبيقك:

{
"يبني": [
{
"src": "django_app_name / wsgi.py"،
"use": "@ vercel / python"
}
],
"المسارات": [
{
"src": "/(.*)"،
"dest": "django_app_name / wsgi.py"
}
]
}

يستبدل django_app_name باسم تطبيق Django (نفس المجلد الذي يحتوي على ملف settings.py ملف).

إعادة تشكيل ملف wsgi.py

instagram viewer

Vercel لا يتعرف على طلب متغير في ملف wsgi.py. لحسن الحظ ، التغيير الوحيد الذي ستجريه لحل هذه المشكلة هو تمرير طلب متغير إلى Vercel كـ برنامج.

لذا أعد صياغة تصميمات تطبيقك wsgi.py الملف كما هو موضح:

يستورد نظام التشغيل
من django.core.wsgi يستورد get_wsgi_application
os.environ.setdefault ("DJANGO_SETTINGS_MODULE", "إعدادات django_blog.settings")
التطبيق = get_wsgi_application ()
التطبيق = التطبيق

الاتصال بقاعدة بيانات بعيدة

إذا كان تطبيقك يحتاج إلى دعم قاعدة البيانات ، فاستخدم توفير Vercel أو قم بتدوير طبعة قاعدة بيانات خارجية في مكان ما. لحسن الحظ ، هناك الكثير قاعدة بيانات PostgreSQL مجانية خيارات عبر الإنترنت. بامكانك ايضا الاتصال كتلة MongoDB إذا كنت تفضل قاعدة بيانات NoSQL.

ومع ذلك ، سنلتزم بمجموعة قواعد بيانات PostgreSQL الخاصة بالسكك الحديدية هنا نظرًا لأنها توفر رصيدًا أوليًا وسهل الإعداد.

لإعداد مثيل PostgreSQL على السكك الحديدية:

  1. قم بزيارة سكة حديدية موقع على شبكة الإنترنت لإنشاء حساب.
  2. انقر ابدأ مشروع جديد.
  3. يختار توفير PostgreSQL.
  4. انقر على بوستجرس لافتة لرؤية متغيرات قاعدة البيانات وسلاسل الاتصال.
  5. اذهب إلى المتغيرات فاتورة غير مدفوعة. ثم انسخ والصق ملف DATABASE_URL السلسلة في محرر نصوص لتنسيقها. تأكد من استبدال العناصر النائبة في ملف DATABASE_URL سلسلة ذات قيم متغيرة مناسبة.
  6. انسخ المتغيرات المتبقية وقم بإعداد قاعدة البيانات الخاصة بك في Django settings.py الملف ، كما هو موضح أدناه. تذكر استبدال أسماء المتغيرات بالقيم المناسبة على النحو المنصوص عليه في السكك الحديدية.
    قواعد البيانات = {
    'تقصير': {
    'محرك': "django.db.backends.postgresql",
    "URL": "DATABASE_URL",
    'اسم': "PGDATABASE",
    'مستخدم': "PGUSER",
    'كلمة المرور': "PGPASSWORD",
    'يستضيف': "PGHOST",
    'ميناء': PGPORT ،
    }
    }

يعتبر إخفاء هذه المتغيرات السرية باستخدام أ .env لتعزيز أمان تطبيق Django. بالإضافة إلى ذلك ، يتيح لك Vercel سرد متغيرات البيئة الخاصة بك أثناء النشر.

لذلك بمجرد استخدامك لملف os.getenv الطريقة ، تجلب Python المتغير المحدد من بيئة استضافة Vercel. وبالتالي ، يصبح إعداد قاعدة البيانات الخاصة بك:

قواعد البيانات = {
'تقصير': {
'محرك': "django.db.backends.postgresql",
"URL": os.getenv ("POSTGRES_URL"),
'اسم': os.getenv ("PGNAME"),
'مستخدم': os.getenv ("PGUSER"),
'كلمة المرور': os.getenv ("POSTGRES_PASSWORD"),
'يستضيف': os.getenv ("PGHOST"),
'ميناء': os.getenv ("PGPORT) ،
}
}

انشر مستودع GitHub الخاص بك على Vercel

يتضمن الجزء الثاني من هذه العملية توجيه Vercel إلى المستودع الخاص بك على GitHub. بمجرد القيام بذلك ، سيتم نشر التطبيق الخاص بك ، ويمكن لأي شخص الوصول إلى موقع الويب الخاص بك على عنوان URL الذي ينشئه Vercel.

قم بإنشاء ملف المتطلبات

يحاول Vercel العثور على تبعيات مشروعك وتثبيتها داخل ملف المتطلبات. txt ملف أثناء النشر. ومع ذلك ، تذكر أن كتابة التبعيات من a بيئة افتراضية داخل المتطلبات. txt دائما أسهل من الفضاء العالمي.

قم بإنشاء ملف requirements.txt في مجلد جذر المشروع الخاص بك باستخدام الأمر التالي عبر المحطة الطرفية:

تجميد النقطة> المتطلبات

قم بتوصيل المستودع الخاص بك بـ Vercel

يعمل Vercel من خلال تتبع التغييرات في المستودع. لذا فإن الخطوة الأولى للنشر هي دفع التعليمات البرمجية الخاصة بك إلى جيثب أو أي نظام آخر للتحكم في الإصدارات يناسبك بشكل أفضل. تجاهل هذه الخطوة إذا كان الرمز الخاص بك موجودًا بالفعل على GitHub.

للبدء في Vercel:

  1. قم بالتسجيل على موقع Vercel باستخدام حساب GitHub الخاص بك. اتبع التعليمات التي تظهر على الشاشة لإكمال تسجيل الحساب للبدء.
  2. بعد ذلك ، حدد خيار حساب Hobby لاستخدام Vercel مجانًا.
  3. بمجرد تسجيل الدخول ، انقر فوق اضف جديد. ثم اضغط مشروع.
  4. بعد ذلك ، انقر فوق أضف حساب جيثب من استيراد مستودع Git قسم. أو يمكنك النقر فوق تبديل مزود بوابة إذا كنت تستخدم عنصر تحكم آخر في الإصدار إلى جانب GitHub.
  5. انقر جميع المستودعات. ثم اضغط ثَبَّتَ.
  6. حدد حساب GitHub الخاص بك من القائمة.
  7. سيكتشف Vercel تلقائيًا مستودعاتك. انقر يستورد على يمين الشخص الذي يحمل مشروع Django الخاص بك.
  8. انقر على متغيرات البيئة القائمة المنسدلة لسرد متغيرات البيئة الخاصة بك على Vercel. يمكن أن يتضمن ذلك المفتاح السري لتطبيقك وسلاسل اتصال قاعدة البيانات. أكمل ال اسم حقل باسم المتغير. ثم أدخل قيمته في ملف قيمة مجال.
  9. انقر يضيف لإنشاء حقل جديد وإضافة متغيرات البيئة الأخرى.
  10. أخيرًا ، انقر فوق نشر. يجب أن يكون تطبيقك نشطًا في بعض اللحظات. انقر فوق عنوان URL الموجود على يمين رمز الويب لزيارة موقع الويب الجديد الخاص بك.

بمجرد النشر ، يتتبع Vercel التغييرات اللاحقة التي تم دفعها إلى الفرع الرئيسي لعكسها في الإصدار المباشر. وبالتالي ، ما عليك سوى نشر تغييراتك على GitHub لتحديث تطبيقك في الوقت الفعلي.

بينما يقوم Vercel تلقائيًا بإنشاء عنوان URL لموقع ويب Django الخاص بك ، يمكنك أيضًا النشر باستخدام اسم مجال مخصص. لذا ضع في اعتبارك شراء اسم المجال من المسجل إذا كنت بحاجة إلى واحد.

قم باستضافة موقع Django الخاص بك دون أي تكلفة

في بعض الأحيان ، يستغرق الأمر أكثر من مجرد مستودع GitHub لإقناع أصحاب العمل والعملاء المحتملين. بينما يُظهر المستودع القوي والمتماسك كفاءتك ، فإن عرض نسخة حية من محفظتك أو نموذج مشروعك يقدم لك على أنك منجز.

غالبًا ما تكون استضافة مشروع لا يدر إيرادات أمرًا محبطًا. لكن لحسن الحظ ، Vercel هي واحدة من خدمات استضافة الويب القليلة المجانية. وقد رأيت كيفية نشر مشروع Django مجانًا على المنصة. على الرغم من أن عنوان URL الذي تم إنشاؤه يبدو غير مرتب ، إلا أنه يمكنك لصقه في المستند التمهيدي لمشروعك على GitHub لإظهار كيفية عمل إنشائك للناس.