0Pricing
Flask Academy · درس

تحميل الأسرار من متغيرات البيئة

أبقِ المفاتيح خارج المصدر باستخدام متغيرات البيئة.

تحميل الأسرار من متغيرات البيئة درس مجاني في Flask Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Flask Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Flask Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Secrets Do Not Belong in Code

API keys and passwords pasted into source files leak the moment you push to Git. Keep secrets out of your repository entirely.

The Twelve-Factor Idea

The twelve-factor approach stores config in the environment, so the same code ships everywhere with no edits.

Read One with os.environ

Use os.environ to read a variable. It raises a clear error if the key is missing, which is great for required secrets.

import os
key = os.environ["SECRET_KEY"]

Optional Values with get

Use os.environ.get for optional settings and supply a fallback so your app still boots in development.

debug = os.environ.get("DEBUG", "0")

Wire It into a Config Class

Read env vars right inside your Config class so every environment gets its secrets from the system, not the source.

SECRET_KEY = os.environ.get("SECRET_KEY")

Set a Variable in the Shell

On your machine, export the value before running. The process inherits it, and Flask picks it up.

export SECRET_KEY=super-secret

Everything Is a String

Env vars arrive as strings. Convert numbers and booleans yourself, since "0" is truthy in Python.

port = int(os.environ.get("PORT", "5000"))

Fail Fast on Missing Secrets

In production, a missing secret should crash on startup, not midway. Fail fast so the problem is obvious immediately.

if not SECRET_KEY:
    raise RuntimeError("SECRET_KEY required")

Where the Platform Sets Them

Hosts like Heroku, Docker, and Kubernetes inject env vars at deploy time, so no secret ever sits in your image.

Generate a Strong Key

A SECRET_KEY should be long and random. Generate one with secrets.token_hex and store it as an env var.

import secrets
secrets.token_hex(32)

Never Log a Secret

Avoid printing config that holds secrets. A stray log line in a dashboard exposes the very value you protected.

Quick Check

How should you handle a required secret that is missing in production?

Recap: Env Secrets

You read secrets from os.environ, gave optional ones defaults, converted types, and failed fast when required keys were missing. 🔐

الأسئلة الشائعة

هل درس «تحميل الأسرار من متغيرات البيئة» مجاني؟

نعم — نص درس «تحميل الأسرار من متغيرات البيئة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Flask Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Flask Academy 4 دروس في المجموع.

ماذا ستتعلم في «تحميل الأسرار من متغيرات البيئة»؟

أبقِ المفاتيح خارج المصدر باستخدام متغيرات البيئة. تتمرن على Flask Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Flask Academy؟

لا تُشترط خبرة سابقة. Flask Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «تحميل الأسرار من متغيرات البيئة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Flask Academy هذا؟

نعم. كل درس في Flask Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. فئات الإعدادات لكل بيئة
  2. تحميل الأسرار من متغيرات البيئة
  3. استخدام dotenv في التطوير
  4. تبديل التصحيح وميزات التطبيق
← العودة إلى Flask Academy