diff --git a/src/components/Sidebar/data.js b/src/components/Sidebar/data.js index af5b3923..997281bb 100644 --- a/src/components/Sidebar/data.js +++ b/src/components/Sidebar/data.js @@ -1760,105 +1760,100 @@ export default { title: "استقرار برنامه", link: "/paas/python/how-tos/deploy-app" }, - // { - // title: "استفاده از متغیرهای محیطی", - // link: "/paas/python/how-tos/set-envs" - // }, - // { - // title: "استفاده از دیسک", - // link: "/paas/python/how-tos/use-disk" - // }, - // { - // title: "تنظیم Nginx", - // link: "/paas/python/how-tos/customize-nginx" - // }, - // { - // title: "فعال‌سازی قابلیت gzip", - // link: "/paas/python/how-tos/enable-gzip" - // }, - // { - // title: "پیکربندی TrustedProxies", - // link: "/paas/python/how-tos/set-trusted-proxies" - // }, - // { - // title: "استفاده از Hookها", - // link: "/paas/python/how-tos/use-hooks" - // }, - // { - // title: "تنظیم Cron Job", - // link: "/paas/python/how-tos/set-cron-job" - // }, + { + title: "استفاده از متغیرهای محیطی", + link: "/paas/python/how-tos/set-envs" + }, + { + title: "استفاده از دیسک", + link: "/paas/python/how-tos/use-disk" + }, + { + title: "تنظیم Nginx", + link: "/paas/python/how-tos/customize-nginx" + }, + { + title: "فعال‌سازی قابلیت gzip", + link: "/paas/python/how-tos/enable-gzip" + }, + { + title: "استفاده از Hookها", + link: "/paas/python/how-tos/use-hooks" + }, + { + title: "تنظیم Cron Job", + link: "/paas/python/how-tos/set-cron-job" + }, { title: "تغییر نسخه Python", link: "/paas/python/how-tos/choose-version" }, // { - // title: "تنظیم تعداد workerهای Gunicorn", - // link: "/paas/python/how-tos/set-gunicorn-workers" - // }, - // { // title: "راه‌اندازی برنامه WebSocket", // link: "/paas/python/how-tos/use-websocket" // }, - // { - // title: "راه‌اندازی برنامه ASGI", - // link: "/paas/python/how-tos/use-asgi" - // }, - // { - // title: "استفاده از ماژول FFMPEG", - // link: "/paas/python/how-tos/use-ffmpeg-module" - // }, - // { - // title: "تنظیم لاگ‌ها", - // link: "/paas/python/how-tos/set-logs" - // }, - - // { - // hr: true - // }, - // { - // badge: ( - //
- // - // اتصال به دیتابیس - //
- // ) - // }, - // { - // title: "دیتابیس MySQL/MariaDB", - // icon: , - // link: "/paas/python/how-tos/connect-to-db/mysql" - // }, - // { - // title: "دیتابیس MSSQL", - // icon: , - // link: "/paas/python/how-tos/connect-to-db/mssql" - // }, - // { - // title: "دیتابیس PostgreSQL", - // icon: , - // link: "/paas/python/how-tos/connect-to-db/postgresql" - // }, - // { - // title: "دیتابیس SQLite", - // icon: , - // link: "/paas/python/how-tos/connect-to-db/sqlite" - // }, - // { - // title: "دیتابیس Redis", - // icon: , - // link: "/paas/python/how-tos/connect-to-db/redis" - // }, - // { - // title: "دیتابیس ElasticSearch", - // icon: , - // link: "/paas/python/how-tos/connect-to-db/elastic-search" - // }, - // { - // title: "دیتابیس MongoDB", - // icon: , - // link: "/paas/python/how-tos/connect-to-db/mongodb" - // }, + { + title: "تنظیم تعداد workerهای Gunicorn", + link: "/paas/python/how-tos/set-gunicorn-workers" + }, + { + title: "تنظیم max_request در Gunicorn", + link: "/paas/python/how-tos/set-gunicorn-maxrequest" + }, + { + title: "تنظیم هدرهای امنیتی HTTP", + link: "/paas/python/how-tos/set-http-security-headers" + }, + { + title: "تنظیم لاگ‌ها", + link: "/paas/python/how-tos/set-logs" + }, + { + hr: true + }, + { + badge: ( +
+ + اتصال به دیتابیس +
+ ) + }, + { + title: "دیتابیس MySQL/MariaDB", + icon: , + link: "/paas/python/how-tos/connect-to-db/mysql" + }, + { + title: "دیتابیس MSSQL", + icon: , + link: "/paas/python/how-tos/connect-to-db/mssql" + }, + { + title: "دیتابیس PostgreSQL", + icon: , + link: "/paas/python/how-tos/connect-to-db/postgresql" + }, + { + title: "دیتابیس SQLite", + icon: , + link: "/paas/python/how-tos/connect-to-db/sqlite" + }, + { + title: "دیتابیس Redis", + icon: , + link: "/paas/python/how-tos/connect-to-db/redis" + }, + { + title: "دیتابیس ElasticSearch", + icon: , + link: "/paas/python/how-tos/connect-to-db/elastic-search" + }, + { + title: "دیتابیس MongoDB", + icon: , + link: "/paas/python/how-tos/connect-to-db/mongodb" + }, // { // hr: true // }, @@ -1870,22 +1865,6 @@ export default { // // ) // }, - // { - // title: "رفع خطای محدودیت آپلود فایل با حجم بیش از 1MB", - // link: "/paas/python/fix-common-errors/upload-limit-size" - // }, - // { - // title: "رفع خطای CORS", - // link: "/paas/python/fix-common-errors/cors" - // }, - // { - // title: "رفع خطای WORKER TIMEOUT", - // link: "/paas/python/fix-common-errors/worker-timeout" - // }, - // { - // title: "رفع خطای ModuleNotFoundError", - // link: "/paas/python/fix-common-errors/module-not-found" - // }, ], django: [ { diff --git a/src/pages/paas/angular/how-tos/deploy-app.mdx b/src/pages/paas/angular/how-tos/deploy-app.mdx index 2fb00743..7f67608b 100644 --- a/src/pages/paas/angular/how-tos/deploy-app.mdx +++ b/src/pages/paas/angular/how-tos/deploy-app.mdx @@ -105,9 +105,15 @@ import Head from "next/head";

- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید: + در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:

- deploy app using console +
+

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه را در برنامه خود، لحاظ کنید: diff --git a/src/pages/paas/django/how-tos/deploy-app.mdx b/src/pages/paas/django/how-tos/deploy-app.mdx index 183156a1..397b94c6 100644 --- a/src/pages/paas/django/how-tos/deploy-app.mdx +++ b/src/pages/paas/django/how-tos/deploy-app.mdx @@ -50,9 +50,15 @@ tzdata==2024.1

- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید: + در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:

- deploy app using console +
+

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه را در برنامه خود، لحاظ کنید: diff --git a/src/pages/paas/django/how-tos/set-cron-job.mdx b/src/pages/paas/django/how-tos/set-cron-job.mdx index 48da7b0b..35ff21e9 100644 --- a/src/pages/paas/django/how-tos/set-cron-job.mdx +++ b/src/pages/paas/django/how-tos/set-cron-job.mdx @@ -30,7 +30,7 @@ Cron job یک وظیفه زمان‌بندی شده در سیستم‌عامل tabs={["Liara Console", "Liara CLI"]} content={[ <> - برای تنظیم یک Cron Job در Laravel کافیست تا + برای تنظیم یک Cron Job در Django کافیست تا پس از آپلود پروژه خود در کنسول در بخش تنظیمات پلتفرم، Cron Jobهای خود را تعریف کنید:

diff --git a/src/pages/paas/docker/how-tos/deploy-app.mdx b/src/pages/paas/docker/how-tos/deploy-app.mdx index 37badc20..b5ec8dd8 100644 --- a/src/pages/paas/docker/how-tos/deploy-app.mdx +++ b/src/pages/paas/docker/how-tos/deploy-app.mdx @@ -140,9 +140,15 @@ CMD ["./main"]`}

- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید: + در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:

- deploy app using console +
+

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه را در برنامه خود، لحاظ کنید: diff --git a/src/pages/paas/dotnet/how-tos/deploy-app.mdx b/src/pages/paas/dotnet/how-tos/deploy-app.mdx index 06306606..4c9bb5aa 100644 --- a/src/pages/paas/dotnet/how-tos/deploy-app.mdx +++ b/src/pages/paas/dotnet/how-tos/deploy-app.mdx @@ -53,9 +53,15 @@ import Head from "next/head";

- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید: + در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:

- deploy app using console +
+

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه را در برنامه خود، لحاظ کنید: diff --git a/src/pages/paas/flask/how-tos/deploy-app.mdx b/src/pages/paas/flask/how-tos/deploy-app.mdx index 0a16f934..5d720c46 100644 --- a/src/pages/paas/flask/how-tos/deploy-app.mdx +++ b/src/pages/paas/flask/how-tos/deploy-app.mdx @@ -52,9 +52,15 @@ Werkzeug==3.0.3

- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید: + در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:

- deploy app using console +
+

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه را در برنامه خود، لحاظ کنید: diff --git a/src/pages/paas/laravel/how-tos/deploy-app.mdx b/src/pages/paas/laravel/how-tos/deploy-app.mdx index 4eb68940..ead6ba4d 100644 --- a/src/pages/paas/laravel/how-tos/deploy-app.mdx +++ b/src/pages/paas/laravel/how-tos/deploy-app.mdx @@ -141,9 +141,15 @@ import Head from "next/head";

- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید: + در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:

- deploy app using console +
+

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه را در برنامه خود، لحاظ کنید: diff --git a/src/pages/paas/nextjs/how-tos/deploy-app.mdx b/src/pages/paas/nextjs/how-tos/deploy-app.mdx index aa3b878e..9eb17a2c 100644 --- a/src/pages/paas/nextjs/how-tos/deploy-app.mdx +++ b/src/pages/paas/nextjs/how-tos/deploy-app.mdx @@ -95,9 +95,15 @@ import Head from "next/head";

- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید: + در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:

- deploy app using console +
+

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه را در برنامه خود، لحاظ کنید: diff --git a/src/pages/paas/nodejs/how-tos/deploy-app.mdx b/src/pages/paas/nodejs/how-tos/deploy-app.mdx index 9076b82d..6ecafd12 100644 --- a/src/pages/paas/nodejs/how-tos/deploy-app.mdx +++ b/src/pages/paas/nodejs/how-tos/deploy-app.mdx @@ -65,9 +65,15 @@ import Head from "next/head"; ]}/>

- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید: + در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:

- deploy app using console +
+

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه نظیر انتخاب نسخه، تعیین منطقه زمانی، اتصال دیسک و ... را در برنامه خود، لحاظ کنید: diff --git a/src/pages/paas/php/how-tos/deploy-app.mdx b/src/pages/paas/php/how-tos/deploy-app.mdx index 22e53409..3acc647a 100644 --- a/src/pages/paas/php/how-tos/deploy-app.mdx +++ b/src/pages/paas/php/how-tos/deploy-app.mdx @@ -68,9 +68,15 @@ import Head from "next/head";

- در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ فایل zip را بکشید و در باکس آپلود تعبیه شده، رها کنید تا وارد مرحله بعدی استقرار شوید: + در ادامه، بایستی پوشه پروژه خود را درون یک فایل zip قرار بدهید؛ سپس در برنامه خود، بر روی گزینه استقرار جدید کلیک کرده؛ وارد تب Drag & Drog شوید و فایل zip را آپلود کنید تا وارد مرحله بعدی استقرار شوید:

- deploy app using console +
+

پس از آپلود پروژه، باید شخصی‌سازی‌های پروژه را در برنامه خود، لحاظ کنید: diff --git a/src/pages/paas/python/how-tos/choose-version.mdx b/src/pages/paas/python/how-tos/choose-version.mdx index 8189005c..d2e5269e 100644 --- a/src/pages/paas/python/how-tos/choose-version.mdx +++ b/src/pages/paas/python/how-tos/choose-version.mdx @@ -59,7 +59,7 @@ import Head from "next/head"; content={[ <>

پس از بارگذاری پروژه خود در لیارا، کافیست تا در مرحله انتخاب نسخه، نسخه مورد نظر برنامه‌تان را انتخاب کنید.

- how to choose version in liara console + how to choose version in liara console , <>

diff --git a/src/pages/paas/python/how-tos/connect-to-db/about.mdx b/src/pages/paas/python/how-tos/connect-to-db/about.mdx index 1e3be083..5bcdc618 100644 --- a/src/pages/paas/python/how-tos/connect-to-db/about.mdx +++ b/src/pages/paas/python/how-tos/connect-to-db/about.mdx @@ -16,17 +16,17 @@ import Head from "next/head"; -مستندات اتصال به دیتابیس‌ها در Django - لیارا +مستندات اتصال به دیتابیس‌ها در Python - لیارا - + # اتصال به دیتابیس


دیتابیس‌ها، در اکوسیستم یک پلتفرم، نقش حیاتی دارند. دیتابیس‌ها نه تنها محلی برای ذخیره و بازیابی داده‌ها هستند، بلکه به عنوان ستون فقرات یک برنامه، عمل می‌کنند و بر کارایی، مقیاس‌پذیری و قابلیت اعتماد سیستم، تأثیر مستقیم می‌گذارند. -در حال حاضر، شما می‌توانید در برنامه‌های Django خود در لیارا، به دیتابیس‌های زیر، متصل شوید: +در حال حاضر، شما می‌توانید در برنامه‌های Python خود در لیارا، به دیتابیس‌های زیر، متصل شوید:
{[ @@ -53,31 +53,12 @@ import Head from "next/head"; )}
-برای اجرای Migrationها در دیتابیس مد نظر خود، در ابتدا در Local دستور زیر را اجرا کنید تا Migrationها برای‌تان ایجاد شوند: -
-
- - {`python manage.py makemigrations`} - -
-
- -سپس، - می‌توانید پس از استقرار برنامه، وارد خط فرمان برنامه خود شوید و دستور زیر را اجرا کنید تا عملیات migration برای شما، انجام شود: - -
-
- - {`python manage.py migrate`} - -
-
-یا اینکه می‌توانید طبق مستندات Hookها، قبل از استقرار و در مسیر اصلی پروژه، یک فایل به نام liara_pre_start.sh ایجاد کنید و قطعه کد زیر را، درون آن، قرار دهید: +برای اجرای migrationها در برنامه خود، می‌توانید طبق مستندات Hookها، قبل از استقرار و در مسیر اصلی پروژه، یک فایل به نام liara_pre_start.sh ایجاد کنید و قطعه کدی مشابه قطعه کد زیر را، درون آن، قرار دهید:
- {`python manage.py migrate;`} + {`python3 migrate.py;`}
diff --git a/src/pages/paas/python/how-tos/connect-to-db/elastic-search.mdx b/src/pages/paas/python/how-tos/connect-to-db/elastic-search.mdx index 345d3d6c..cdda8027 100644 --- a/src/pages/paas/python/how-tos/connect-to-db/elastic-search.mdx +++ b/src/pages/paas/python/how-tos/connect-to-db/elastic-search.mdx @@ -14,16 +14,16 @@ import Head from "next/head"; -مستندات اتصال به دیتابیس‌ ElasticSearch در Django - لیارا +مستندات اتصال به دیتابیس‌ ElasticSearch در Python - لیارا - + -# اتصال به دیتابیس ElasticSearch در برنامه‌های Django +# اتصال به دیتابیس ElasticSearch در برنامه‌های Python
-برای اتصال به دیتابیس ElasticSearch در برنامه‌های Django، در ابتدا باید ماژول مربوط به آن‌را با اجرای دستور زیر، نصب کنید: +برای اتصال به دیتابیس ElasticSearch در برنامه‌های Python، در ابتدا باید ماژول مربوط به آن‌را با اجرای دستور زیر، نصب کنید:
@@ -33,31 +33,8 @@ import Head from "next/head";
-سپس، در فایل settings.py، تنظیمات مربوط به دیتابیس را اضافه کنید: -
-
- - {` # other codes ... -ELASTICSEARCH_DSL = { - 'default': { - 'hosts': os.getenv("ELASTICSEARCH_URI"), - }, -} -# other codes ...`} - -
-
- -در ادامه، بایستی طبق مستندات تنظیم متغیرهای محیطی، متغیرهای مربوط به دیتابیس خود را، به برنامه، اضافه کنید؛ به عنوان مثال: -
-
- - {`ELASTICSEARCH_URI=http://elastic:G4bqHLMHvZKMscUy8OhLomK1@bromo.liara.cloud:328`} - -
-
+سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونی‌تان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt به‌روز شود: -در نهایت، کافیست دستور زیر را اجرا کنید تا فایل requirements.txt به‌روز شود و نام ماژول مربوط به دیتابیس، در این فایل، قرار بگیرد:
@@ -66,120 +43,70 @@ ELASTICSEARCH_DSL = {
-تمامی کارها انجام شده است و شما می‌توانید از دیتابیس خود استفاده کنید. به عنوان مثال، می‌توانید با اجرای دستور زیر، یک application جدید ایجاد کنید: -
-
- - {`python manage.py startapp elasticsearch_app`} - -
-
+در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال: -سپس، این application جدید را به بخش INSTALLED_APPS در settings.py، اضافه کنید:
- - {`# Application definition - -INSTALLED_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - 'elasticsearch_app', # add this -]`} - -
-
- -در ادامه، در دایرکتوری elasticsearch_app، یک فایل جدید به نام elastic_model.py ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید: -
-
- - {`from elasticsearch import Elasticsearch -from django.conf import settings - -class ElasticModel: - def __init__(self): - self.client = Elasticsearch(settings.ELASTICSEARCH_DSL['default']['hosts']) - self.index = 'test_index' - - def create_index(self): - if not self.client.indices.exists(index=self.index): - self.client.indices.create(index=self.index) - - def insert_data(self, data): - self.client.index(index=self.index, document=data) - - def read_data(self): - response = self.client.search(index=self.index, body={"query": {"match_all": {}}}) - return response['hits']['hits'] -`} - -
-
- - - -در ادامه، در فایل elasticsearch_app/views.py قطعه کد زیر را وارد کنید تا اتصال به دیتابیس، بررسی شود: -
-
- - {`from django.http import JsonResponse -from .elastic_model import ElasticModel - -def elasticsearch_insert_read(request): - es_model = ElasticModel() - es_model.create_index() - - # Insert data - data = { - 'name': 'Sample Data', - 'description': 'This is a sample data entry for Elasticsearch.' - } - es_model.insert_data(data) - - # Read data - results = es_model.read_data() - - return JsonResponse(results, safe=False) -`} + + {`ELASTICSEARCH_URI=http://elastic:0sYXnw9OuXUzYVFnXTFdwOUh@monte-rosa.liara.cloud:33159/`}
-سپس، بایستی در دایرکتوری elasticsearch_app، یک فایل به نام urls.py ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید: +در نهایت، می‌توانید مشابه قطعه کد زیر، به دیتابیس‌تان متصل شده و از آن، استفاده کنید:
- {`from django.urls import path -from .views import elasticsearch_insert_read - -urlpatterns = [ - path('', elasticsearch_insert_read, name='elasticsearch_insert_read'), -] + {`import os +from http.server import BaseHTTPRequestHandler, HTTPServer +from elasticsearch import Elasticsearch +from elasticsearch.exceptions import ConnectionError + +# Fetch Elasticsearch URI from environment variables +ELASTICSEARCH_URI = os.getenv("ELASTICSEARCH_URI") + +# Initialize Elasticsearch client +def connect_elasticsearch(): + try: + # Create an Elasticsearch client using the URI + es = Elasticsearch([ELASTICSEARCH_URI]) + # Check connection by pinging Elasticsearch + if es.ping(): + return True + return False + except ConnectionError: + return False + +# HTTP request handler class +class RequestHandler(BaseHTTPRequestHandler): + def do_GET(self): + # Check if Elasticsearch is reachable + if connect_elasticsearch(): + self.send_response(200) + self.send_header('Content-type', 'text/plain') + self.end_headers() + self.wfile.write(b"Elasticsearch connection successful!") + else: + self.send_response(500) + self.send_header('Content-type', 'text/plain') + self.end_headers() + self.wfile.write(b"Failed to connect to Elasticsearch") + +# Run the server +def run(server_class=HTTPServer, handler_class=RequestHandler, port=8080): + server_address = ('', port) + httpd = server_class(server_address, handler_class) + print(f'Starting server on port {port}...') + httpd.serve_forever() + +if __name__ == '__main__': + run() `}
-در نهایت، می‌توانید در فایل urls.py موجود در دایرکتوری اصلی پروژه، قطعه کد زیر را اضافه کنید: -
-
- - {`from django.urls import include, path - -urlpatterns = [ - - path('elasticsearch/', include('elasticsearch_app.urls')), -] -`} - -
-
-اکنون می‌توانید برنامه‌تان را در لیارا مستقر کرده و در صفحه elasticsearch/ وضعیت اتصال به دیتابیس خود را بررسی کنید. +اکنون می‌توانید برنامه‌تان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید. \ No newline at end of file diff --git a/src/pages/paas/python/how-tos/connect-to-db/mongodb.mdx b/src/pages/paas/python/how-tos/connect-to-db/mongodb.mdx new file mode 100644 index 00000000..2d0b3130 --- /dev/null +++ b/src/pages/paas/python/how-tos/connect-to-db/mongodb.mdx @@ -0,0 +1,118 @@ +import Layout from "@/components/Layout"; +import Button from "@/components/Common/button"; +import Section from "@/components/Common/section"; +import Alert from "@/components/Common/alert"; +import Tabs from "@/components/Common/tab"; +import Step from "@/components/Common/step"; +import Card from "@/components/Common/card"; +import Important from "@/components/Common/important"; +import Highlight from "@/components/Common/highlight"; +import Link from "next/link"; +import NextPage from "@/components/Common/nextpage"; + +import Head from "next/head"; + + + +مستندات اتصال به دیتابیس‌ MongoDB در Python - لیارا + + + + + +# اتصال به دیتابیس MongoDB در برنامه‌های Python +
+ +برای اتصال به دیتابیس MongoDB در برنامه‌های Python، در ابتدا باید ماژول مربوط به آن‌را با اجرای دستور زیر، نصب کنید: + +
+
+ + {`pip install pymongo`} + +
+
+ +سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونی‌تان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt به‌روز شود: + +
+
+ + {`pip freeze > requirements.txt`} + +
+
+ +در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال: + +
+
+ + {`MONGODB_URI=mongodb://root:RiGIQwtB65sWhwPHnKSRRPN0@monte-rosa.liara.cloud:32655/my-app?authSource=admin`} + +
+
+ +در نهایت، می‌توانید مشابه قطعه کد زیر، به دیتابیس‌تان متصل شده و از آن، استفاده کنید: + +
+
+ + {`import os +from http.server import BaseHTTPRequestHandler, HTTPServer +from pymongo import MongoClient +from pymongo.errors import ServerSelectionTimeoutError, ConnectionFailure + +# Fetch MongoDB URI from environment variables +MONGODB_URI = os.getenv("MONGODB_URI") + +# Initialize MongoDB client +def connect_mongodb(): + try: + # Create a MongoDB client using the URI + client = MongoClient(MONGODB_URI, serverSelectionTimeoutMS=5000) + # Try to access the admin database to check the connection + client.admin.command('ping') + return True + except ServerSelectionTimeoutError as e: + print(f"ServerSelectionTimeoutError: {e}") + return False + except ConnectionFailure as e: + print(f"ConnectionFailure: {e}") + return False + except Exception as e: + print(f"Unexpected error: {e}") + return False + +# HTTP request handler class +class RequestHandler(BaseHTTPRequestHandler): + def do_GET(self): + # Check if MongoDB is reachable + if connect_mongodb(): + self.send_response(200) + self.send_header('Content-type', 'text/plain') + self.end_headers() + self.wfile.write(b"MongoDB connection successful!") + else: + self.send_response(500) + self.send_header('Content-type', 'text/plain') + self.end_headers() + self.wfile.write(b"Failed to connect to MongoDB") + +# Run the server +def run(server_class=HTTPServer, handler_class=RequestHandler, port=8080): + server_address = ('', port) + httpd = server_class(server_address, handler_class) + print(f'Starting server on port {port}...') + httpd.serve_forever() + +if __name__ == '__main__': + run() +`} + +
+
+ +اکنون می‌توانید برنامه‌تان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید. + + \ No newline at end of file diff --git a/src/pages/paas/python/how-tos/connect-to-db/mssql.mdx b/src/pages/paas/python/how-tos/connect-to-db/mssql.mdx index 0c642416..14b7dcc4 100644 --- a/src/pages/paas/python/how-tos/connect-to-db/mssql.mdx +++ b/src/pages/paas/python/how-tos/connect-to-db/mssql.mdx @@ -14,65 +14,27 @@ import Head from "next/head"; -مستندات اتصال به دیتابیس‌ MSSQL در Django - لیارا +مستندات اتصال به دیتابیس‌ MSSQL در Python - لیارا - + -# اتصال به دیتابیس MSSQL در برنامه‌های Django +# اتصال به دیتابیس MSSQL در برنامه‌های Python
-برای اتصال به دیتابیس MSSQL در برنامه‌های Django، در ابتدا باید ماژول مربوط به آن‌را با اجرای دستور زیر، نصب کنید: +برای اتصال به دیتابیس MSSQL در برنامه‌های Python، در ابتدا باید ماژول مربوط به آن‌را با اجرای دستور زیر، نصب کنید:
- {`pip install mssql-django`} + {`pip install pyodbc`}
-در ادامه، بایستی در فایل settings.py تنظیمات مربوط به دیتابیس را وارد کنید: +سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونی‌تان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt به‌روز شود: -
-
- - {`# other codes ... -import os -DATABASES = { - 'default': { - 'ENGINE': 'mssql', - 'NAME': os.getenv("MSSQL_DB_NAME"), - 'USER': os.getenv("MSSQL_DB_USER"), - 'PASSWORD': os.getenv("MSSQL_DB_PASS"), - 'HOST': os.getenv("MSSQL_DB_HOST"), - 'PORT': os.getenv("MSSQL_DB_PORT"), - 'OPTIONS': { - 'driver': 'ODBC Driver 18 for SQL Server', - 'extra_params': 'Encrypt=no;', - } - } -} -# other codes ...`} - -
-
- -در ادامه، بایستی طبق مستندات تنظیم متغیرهای محیطی، متغیرهای مربوط به دیتابیس خود را، به برنامه، اضافه کنید؛ به عنوان مثال: -
-
- - {`MSSQL_DB_HOST=bromo.liara.cloud -MSSQL_DB_PORT=34119 -MSSQL_DB_USER=sa -MSSQL_DB_PASS=8qLDc1Xco1Q4X0lqgjy4HWc2 -MSSQL_DB_NAME=db`} - -
-
- -در نهایت، کافیست دستور زیر را اجرا کنید تا فایل requirements.txt به‌روز شود و نام ماژول مربوط به دیتابیس، در این فایل، قرار بگیرد:
@@ -81,150 +43,76 @@ MSSQL_DB_NAME=db`}
-تمامی کارها انجام شده است و شما می‌توانید از دیتابیس خود استفاده کنید. به عنوان مثال، می‌توانید با اجرای دستور زیر، یک application جدید ایجاد کنید: -
-
- - {`python manage.py startapp mssql_app`} - -
-
+در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال: -سپس، این application جدید را به بخش INSTALLED_APPS در settings.py، اضافه کنید:
- - {`# Application definition - -INSTALLED_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - 'mssql_app', # add this -]`} - -
-
- -در ادامه، در فایل mssql_app/views.py قطعه کد زیر را وارد کنید تا اتصال به دیتابیس، بررسی شود: -
-
- - {`from django.shortcuts import render -from django.db import connections -from django.http import HttpResponse - -def check_mssql_connection(request): - try: - connection = connections['mssql'] - connection.ensure_connection() - return HttpResponse("MSSQL connection successful") - except Exception as e: - return HttpResponse(f"MSSQL connection failed: {e}") + + {`DB_HOST=monte-rosa.liara.cloud +DB_PORT=30592 +DB_NAME=master +DB_USER=sa +DB_PASSWORD=YRku6zKq22DlUyF9pMEepoUD `}
-سپس، بایستی در دایرکتوری mssql_app، یک فایل به نام urls.py ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید: +در نهایت، می‌توانید مشابه قطعه کد زیر، به دیتابیس‌تان متصل شده و از آن، استفاده کنید:
- {`from django.urls import path -from .views import check_postgresql_connection - -urlpatterns = [ - path('', check_postgresql_connection, name='check_postgresql_connection'), -] + {`import os +from http.server import BaseHTTPRequestHandler, HTTPServer +import pyodbc + +# Database connection parameters +DB_HOST = os.getenv('DB_HOST') +DB_PORT = os.getenv('DB_PORT') +DB_NAME = os.getenv('DB_NAME') +DB_USER = os.getenv('DB_USER') +DB_PASSWORD = os.getenv('DB_PASSWORD') + +# Connection string +DATABASE_URI = f"DRIVER={{ODBC Driver 18 for SQL Server}};SERVER={DB_HOST},{DB_PORT};DATABASE={DB_NAME};UID={DB_USER};PWD={DB_PASSWORD};Encrypt=no;" + +class RequestHandler(BaseHTTPRequestHandler): + def do_GET(self): + connection = None # Initialize connection to None + try: + # Connect to the database + connection = pyodbc.connect(DATABASE_URI) + cursor = connection.cursor() + cursor.execute("SELECT @@VERSION;") + db_version = cursor.fetchone() + response = f"Connection successful, MSSQL version: {db_version[0]}" + except Exception as error: + response = f"Error connecting without pooling: {error}" + finally: + if connection: + cursor.close() + connection.close() + + # Send response to client + self.send_response(200) + self.send_header("Content-type", "text/html") + self.end_headers() + self.wfile.write(f"

{response}

".encode("utf-8")) + +def run(server_class=HTTPServer, handler_class=RequestHandler): + server_address = ('', 8080) # Serve on port 8080 + httpd = server_class(server_address, handler_class) + print("Server running on port 8080") + httpd.serve_forever() + +if __name__ == "__main__": + run() `}
-در نهایت، می‌توانید در فایل urls.py موجود در دایرکتوری اصلی پروژه، قطعه کد زیر را اضافه کنید: -
-
- - {`from django.urls import include, path - -urlpatterns = [ - path('mssql/', include('mssql_app.urls')), -] -`} - -
-
-اکنون می‌توانید برنامه‌تان را در لیارا مستقر کرده و در صفحه mssql/ وضعیت اتصال به دیتابیس خود را بررسی کنید. - -
- -مفهوم Connection pooling به معنای استفاده از یک مجموعه اتصالات از پیش ساخته شده برای اتصال به پایگاه داده است. این تکنیک باعث می‌شود به جای ایجاد و بستن مکرر اتصالات، از اتصالات موجود در مجموعه استفاده شود که کارایی را افزایش می‌دهد. -همچنین بخوانید: آشنایی بیشتر با قابلیت Connection Pooling - -برای استفاده از قابلیت connection pooling در دیتابیس MSSQL -کافیست تا متغیر DATABASE_CONNECTION_POOLING را به فایل settings.py، با مقدار زیر، اضافه کنید: -
-
- - {`DATABASES = { - 'default': { - 'ENGINE': 'mssql', - 'NAME': os.getenv("MSSQL_DB_NAME"), - 'USER': os.getenv("MSSQL_DB_USER"), - 'PASSWORD': os.getenv("MSSQL_DB_PASS"), - 'HOST': os.getenv("MSSQL_DB_HOST"), - 'PORT': os.getenv("MSSQL_DB_PORT"), - 'OPTIONS': { - 'driver': 'ODBC Driver 18 for SQL Server', - 'extra_params': 'Encrypt=no;', - } - } -} - -DATABASE_CONNECTION_POOLING = True # add this`} - -
-
- -همچنین، می‌توانید تنظیمات مربوط به Connection Pooling را -مانند قطعه کد زیر، بر روی دیتابیس خود، اعمال کنید: -
-
- - {`# other codes ... -import os -DATABASES = { - 'default': { - 'ENGINE': 'mssql', - 'NAME': os.getenv("MSSQL_DB_NAME"), - 'USER': os.getenv("MSSQL_DB_USER"), - 'PASSWORD': os.getenv("MSSQL_DB_PASS"), - 'HOST': os.getenv("MSSQL_DB_HOST"), - 'PORT': os.getenv("MSSQL_DB_PORT"), - 'OPTIONS': { - 'driver': 'ODBC Driver 18 for SQL Server', - 'extra_params': 'Encrypt=no;', - 'MARS_Connection': True, - 'Connection Timeout': 30, - 'pool_options': { - 'min': 5, - 'max': 20, - 'increment': 5 - }, - } - } -} - -DATABASE_CONNECTION_POOLING = True -# other codes ...`} - -
-
- -اکنون می‌توانید مجدداً برنامه‌تان را در لیارا مستقر کرده و در صفحه mssql/ وضعیت اتصال به دیتابیس خود را بررسی کنید. +اکنون می‌توانید برنامه‌تان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید. \ No newline at end of file diff --git a/src/pages/paas/python/how-tos/connect-to-db/mysql.mdx b/src/pages/paas/python/how-tos/connect-to-db/mysql.mdx index eba64e4d..1198a47a 100644 --- a/src/pages/paas/python/how-tos/connect-to-db/mysql.mdx +++ b/src/pages/paas/python/how-tos/connect-to-db/mysql.mdx @@ -14,62 +14,27 @@ import Head from "next/head"; -مستندات اتصال به دیتابیس‌ MySQL و MariaDB در Django - لیارا +مستندات اتصال به دیتابیس‌ MySQL و MariaDB در Python - لیارا - + -# اتصال به دیتابیس MySQL/MariaDB در برنامه‌های Django +# اتصال به دیتابیس MySQL/MariaDB در برنامه‌های Python
-برای اتصال به دیتابیس MariaDB یا MySQL در برنامه‌های Django، در ابتدا باید ماژول مربوط به آن‌را با اجرای دستور زیر، نصب کنید: +برای اتصال به دیتابیس MariaDB یا MySQL در برنامه‌های Python، در ابتدا باید ماژول مربوط به آن‌را با اجرای دستور زیر، نصب کنید:
- {`pip install mysqlclient`} + {`pip install mysql-connector-python`}
-در ادامه، بایستی در فایل settings.py تنظیمات مربوط به دیتابیس را وارد کنید: +سپس، با فرض فعال بودن محیط مجازی در پروژه پایتونی‌تان (virtualenv)، دستور زیر را اجرا کنید تا فایل requirements.txt به‌روز شود: -
-
- - {`# other codes ... -import os -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.mysql', - 'NAME': os.getenv("MYSQL_DB_NAME"), - 'USER': os.getenv("MYSQL_DB_USER"), - 'PASSWORD': os.getenv("MYSQL_DB_PASS"), - 'HOST': os.getenv("MYSQL_DB_HOST"), - 'PORT': os.getenv("MYSQL_DB_PORT"), - }, -} -# other codes ...`} - -
-
- -در ادامه، بایستی طبق مستندات تنظیم متغیرهای محیطی، متغیرهای مربوط به دیتابیس خود را، به برنامه، اضافه کنید؛ به عنوان مثال: -
-
- - {`MYSQL_DB_HOST=bromo.liara.cloud -MYSQL_DB_PORT=33035 -MYSQL_DB_USER=root -MYSQL_DB_PASS=gIg1uXioTrGDZOESQf0YXE87 -MYSQL_DB_NAME=compassionate_heisenberg -`} - -
-
- -در نهایت، کافیست دستور زیر را اجرا کنید تا فایل requirements.txt به‌روز شود و نام ماژول مربوط به دیتابیس، در این فایل، قرار بگیرد:
@@ -78,161 +43,164 @@ MYSQL_DB_NAME=compassionate_heisenberg
-تمامی کارها انجام شده است و شما می‌توانید از دیتابیس خود استفاده کنید. به عنوان مثال، می‌توانید با اجرای دستور زیر، یک application جدید ایجاد کنید: -
-
- - {`python manage.py startapp mysql_app`} - -
-
+در ادامه، بایستی طبق مستندات نحوه تنظیم متغیرهای محیطی، متغیر محیطی مربوط به دیتابیس را، به برنامه اضافه کنید؛ به عنوان مثال: -سپس، این application جدید را به بخش INSTALLED_APPS در settings.py، اضافه کنید:
- - {`# Application definition - -INSTALLED_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - 'mysql_app', # add this -]`} - -
-
- - - -در ادامه، در فایل mysql_app/views.py قطعه کد زیر را وارد کنید تا اتصال به دیتابیس، بررسی شود: -
-
- - {`from django.shortcuts import HttpResponse -from django.db import connections - -def check_mysql_connection(request): - try: - with connections['default'].cursor() as cursor: - cursor.execute("SELECT 1") - result = cursor.fetchone() - if result: - return HttpResponse("MySQL connection successful") - else: - return HttpResponse("MySQL connection failed") - except Exception as e: - return HttpResponse(f"MySQL connection failed: {e}") + + {`DB_USER=root +DB_PASSWORD=Wc9yvejxaWm6RrysATmcUeew +DB_HOST=monte-rosa.liara.cloud +DB_PORT=31983 +DB_NAME=awesome_swanson `}
-سپس، بایستی در دایرکتوری mysql_app، یک فایل به نام urls.py ایجاد کنید و قطعه کد زیر را درون آن، قرار دهید: +در نهایت، می‌توانید مشابه قطعه کد زیر، به دیتابیس‌تان متصل شده و از آن، استفاده کنید:
- {`from django.urls import path -from .views import check_mysql_connection + {`import http.server +import socketserver +import mysql.connector +import os + +db_config = { + 'user': os.getenv('DB_USER'), + 'password': os.getenv('DB_PASSWORD'), + 'host': os.getenv('DB_HOST'), + 'port': int(os.getenv('DB_PORT')), + 'database': os.getenv('DB_NAME') +} -urlpatterns = [ - path('', check_mysql_connection, name='check_mysql_connection'), -] +def check_db_connection(): + try: + connection = mysql.connector.connect(**db_config) + if connection.is_connected(): + connection.close() + return "connection successful" + except mysql.connector.Error as e: + return f"error: {e}" + return "connection failed" + +class RequestHandler(http.server.SimpleHTTPRequestHandler): + def do_GET(self): + self.send_response(200) + self.send_header("Content-type", "text/html; charset=utf-8") + self.end_headers() + + connection_status = check_db_connection() + + html_content = f""" + + + + + connection status + + + +
{connection_status}
+ + + """ + self.wfile.write(html_content.encode("utf-8")) + +PORT = 8000 +with socketserver.TCPServer(("", PORT), RequestHandler) as httpd: + print(f"Serving on port {PORT}") + httpd.serve_forever() `}
-در نهایت، می‌توانید در فایل urls.py موجود در دایرکتوری اصلی پروژه، قطعه کد زیر را اضافه کنید: -
-
- - {`from django.urls import include, path - -urlpatterns = [ - path('mysql/', include('mysql_app.urls')), - -]`} - -
-
-اکنون می‌توانید برنامه‌تان را در لیارا مستقر کرده و در صفحه mysql/ وضعیت اتصال به دیتابیس خود را بررسی کنید. +اکنون می‌توانید برنامه‌تان را در لیارا مستقر کرده و در صفحه / وضعیت اتصال به دیتابیس خود را بررسی کنید.
مفهوم Connection pooling به معنای استفاده از یک مجموعه اتصالات از پیش ساخته شده برای اتصال به پایگاه داده است. این تکنیک باعث می‌شود به جای ایجاد و بستن مکرر اتصالات، از اتصالات موجود در مجموعه استفاده شود که کارایی را افزایش می‌دهد. همچنین بخوانید: آشنایی بیشتر با قابلیت Connection Pooling -برای استفاده از قابلیت connection pooling در دیتابیس MySQL، فقط کافیست تا با اجرای دستور زیر، ماژول موردنیاز را نصب کنید: +برای استفاده از قابلیت connection pooling در دیتابیس MySQL/MariaDB، +می‌توانید مشابه قطعه کد زیر، عمل کنید:
- -{`pip install django-db-connection-pool[mysql]`} - -
-
- -سپس، در فایل settings.py در بخش DATABASES، فیلد مربوط به ENGINE را مانند شکل زیر تغییر دهید: -
-
- - {`# other codes ... + +{`import http.server +import socketserver +from mysql.connector import pooling, Error import os -DATABASES = { - 'default': { - 'ENGINE': 'dj_db_conn_pool.backends.mysql', - 'NAME': os.getenv("MYSQL_DB_NAME"), - 'USER': os.getenv("MYSQL_DB_USER"), - 'PASSWORD': os.getenv("MYSQL_DB_PASS"), - 'HOST': os.getenv("MYSQL_DB_HOST"), - 'PORT': os.getenv("MYSQL_DB_PORT"), - }, -} -# other codes ...`} - -
-
-همچنین، می‌توانید تنظیمات مربوط به Connection Pooling را در فیلدی به نام POOL_OPTIONSمانند قطعه کد زیر، بر روی دیتابیس خود، اعمال کنید: -
-
- - {`# other codes ... -import os -DATABASES = { - 'default': { - 'ENGINE': 'dj_db_conn_pool.backends.mysql', - 'NAME': os.getenv("MYSQL_DB_NAME"), - 'USER': os.getenv("MYSQL_DB_USER"), - 'PASSWORD': os.getenv("MYSQL_DB_PASS"), - 'HOST': os.getenv("MYSQL_DB_HOST"), - 'PORT': os.getenv("MYSQL_DB_PORT"), - 'POOL_OPTIONS': { - 'POOL_SIZE': 10, - 'MAX_OVERFLOW': 10, - 'RECYCLE': 24 * 60 * 60 - } - }, + +db_config = { + 'user': os.getenv('DB_USER'), + 'password': os.getenv('DB_PASSWORD'), + 'host': os.getenv('DB_HOST'), + 'port': int(os.getenv('DB_PORT')), + 'database': os.getenv('DB_NAME') } -# other codes ...`} - -
-
-در نهایت، کافیست دستور زیر را اجرا کنید تا فایل requirements.txt، به‌روز شود و نام ماژول مورد نیاز، در آن، قرار بگیرد: -
-
- - {`pip freeze > requirements.txt`} - -
+try: + connection_pool = pooling.MySQLConnectionPool( + pool_name="mypool", + pool_size=5, # connection amount + **db_config + ) + print("Connection pool created successfully.") +except Error as e: + print(f"Error while creating connection pool: {e}") + +def check_db_connection(): + try: + connection = connection_pool.get_connection() + if connection.is_connected(): + connection.close() + return "connection successfull" + except Error as e: + return f"error: {e}" + return "connection failed" + +class RequestHandler(http.server.SimpleHTTPRequestHandler): + def do_GET(self): + self.send_response(200) + self.send_header("Content-type", "text/html; charset=utf-8") + self.end_headers() + + connection_status = check_db_connection() + + html_content = f""" + + + + + connection status + + + +
{connection_status}
+ + + """ + self.wfile.write(html_content.encode("utf-8")) + +PORT = 8000 +with socketserver.TCPServer(("", PORT), RequestHandler) as httpd: + print(f"Serving on port {PORT}") + httpd.serve_forever() +`} + +
-اکنون می‌توانید مجدداً برنامه‌تان را در لیارا مستقر کرده و در صفحه mysql/ وضعیت اتصال به دیتابیس خود را بررسی کنید. - \ No newline at end of file diff --git a/src/pages/paas/python/how-tos/connect-to-db/postgresql.mdx b/src/pages/paas/python/how-tos/connect-to-db/postgresql.mdx index df597562..4fd08a1a 100644 --- a/src/pages/paas/python/how-tos/connect-to-db/postgresql.mdx +++ b/src/pages/paas/python/how-tos/connect-to-db/postgresql.mdx @@ -14,24 +14,16 @@ import Head from "next/head"; -مستندات اتصال به دیتابیس‌ PostgreSQL در Django - لیارا +مستندات اتصال به دیتابیس‌ PostgreSQL در Python - لیارا - + -# اتصال به دیتابیس PostgreSQL در برنامه‌های Django +# اتصال به دیتابیس PostgreSQL در برنامه‌های Python
-