Python3
203 subscribers
102 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
🚀 آموزش فریمورک Pyramid - پارت 1: مقدمه و نصب

📚 مقدمه
Pyramid یک فریمورک وب مدرن و قدرتمند برای پایتون است که به شما امکان می‌دهد تا برنامه‌های وب ساده و پیچیده را به راحتی ایجاد کنید. یکی از ویژگی‌های برجسته Pyramid این است که بسیار انعطاف‌پذیر است و به شما اجازه می‌دهد که فقط از آن ویژگی‌هایی که نیاز دارید استفاده کنید، بدون اینکه پیچیدگی‌های اضافی را متحمل شوید.

🎯 اهداف پارت 1:
- معرفی فریمورک Pyramid
- نصب و پیکربندی اولیه
- ایجاد اولین برنامه وب ساده

1️⃣ نصب و پیکربندی
برای شروع کار با Pyramid، ابتدا باید آن را نصب کنیم. این کار را می‌توان با استفاده از pip انجام داد.

pip install "pyramid==2.0"

> 💡 نکته: بهتر است از یک محیط مجازی (virtual environment) استفاده کنید تا وابستگی‌های پروژه‌تان جدا از دیگر پروژه‌ها باشد.

برای ایجاد یک محیط مجازی:

python -m venv myenv
source myenv/bin/activate # برای کاربران لینوکس یا مک
myenv\Scripts\activate # برای کاربران ویندوز

سپس Pyramid را نصب کنید.

2️⃣ ایجاد اولین پروژه Pyramid
بعد از نصب Pyramid، حالا می‌خواهیم یک پروژه جدید ایجاد کنیم. با استفاده از دستورات زیر می‌توانید یک پروژه جدید به نام myproject بسازید:

pcreate -s starter myproject

🎉 این دستور یک پروژه جدید با یک ساختار پیش‌فرض ایجاد می‌کند که شامل فایل‌های پیکربندی، یک برنامه نمونه و دیگر فایل‌های ضروری است.


📢 برای دیدن ادامه آموزش‌ها به کانال ما بپیوندید: [python3]

#پایتون #آموزش_پایتون #برنامه‌نویسی #Pyramid #وب #توسعه_وب
🚀 آموزش فریمورک Pyramid - پارت 2: ایجاد View و Template

🎯 اهداف پارت 2:
- معرفی مفهوم View و Template در Pyramid
- ایجاد یک View ساده
- استفاده از Template برای نمایش داده‌ها

1️⃣ آشنایی با View در Pyramid
در فریمورک Pyramid، View به بخشی از برنامه شما اشاره دارد که وظیفه پردازش درخواست‌های ورودی و تولید پاسخ را بر عهده دارد. به عبارت دیگر، View جایی است که منطق برنامه‌نویسی شما در آن قرار دارد.

🔹 برای ایجاد یک View، باید یک تابع یا کلاس تعریف کنید که درخواست‌های HTTP را دریافت کند و پاسخ مناسب را برگرداند.

2️⃣ ایجاد اولین View
بیایید یک View ساده ایجاد کنیم که یک متن ساده "Hello, Pyramid!" را برگرداند. برای این کار، به فایل __init__.py بروید و یک View جدید به شکل زیر اضافه کنید:

from pyramid.response import Response
from pyramid.view import view_config

@view_config(route_name='home')
def my_view(request):
return Response('Hello, Pyramid!')

🔍 توضیح کد:
- @view_config: این دکوراتور به Pyramid می‌گوید که این تابع یک View است و باید به درخواست‌های مربوط به مسیر home پاسخ دهد.
- Response: کلاس Response برای ساختن پاسخ‌های HTTP استفاده می‌شود.

3️⃣ تعریف مسیر (Route)
برای اینکه View ما کار کند، نیاز داریم که یک مسیر (Route) برای آن تعریف کنیم. مسیرها به درخواست‌ها این امکان را می‌دهند که به View مناسب هدایت شوند.

🔸 به فایل __init__.py بروید و کد زیر را برای تعریف مسیر اضافه کنید:

def main(global_config, **settings):
config = Configurator(settings=settings)
config.add_route('home', '/')
config.scan()
return config.make_wsgi_app()

🔍 توضیح کد:
- config.add_route('home', '/'): این خط مسیر home را به آدرس / (صفحه اصلی) نگاشت می‌کند.
- config.scan(): این متد تمام Viewهایی که با @view_config تعریف شده‌اند را پیدا می‌کند.

4️⃣ آشنایی با Template در Pyramid
Templates (قالب‌ها) به شما این امکان را می‌دهند که محتوا و داده‌ها را از View به شکل HTML به کاربران نمایش دهید. در Pyramid، از قالب‌هایی مانند Jinja2 یا Chameleon استفاده می‌شود.

🔹 در این مثال، ما از قالب Chameleon استفاده می‌کنیم. ابتدا باید آن را نصب کنید:

pip install pyramid_chameleon

5️⃣ استفاده از Template برای نمایش داده‌ها
بیایید View قبلی را تغییر دهیم تا از یک Template برای نمایش داده‌ها استفاده کنیم. init__init__.py بروید و کد را به شکل زیر تغییر دهید:

from pyramid.view import view_config

@view_config(route_name='home', renderer='templates/mytemplate.pt')
def my_view(request):
return {'name': 'Pyramid'}

🔍 توضیح کد:
- renderer='templates/mytemplate.pt': این قسمت به Pyramid می‌گوید که از قالب mytemplate.pt برای رندر کردن View استفاده کند.
- return {'name': 'Pyramid'}: داده‌ای که به قالب ارسال می‌شود.

6️⃣ ایجاد فایل Template
حالا فایل قالب را ایجاد کنید. به مسیر templates/ بروید و فایل mytemplate.pt را ایجاد کنید و محتوای زیر را در آن قرار دهید:

<html>
<head>
<title>My Pyramid App</title>
</head>
<body>
<h1>Hello, ${name}!</h1>
</body>
</html>

🔍 توضیح کد:
- ${name}: متغیری که از View به قالب ارسال شده و جایگزین می‌شود.

🎉 حالا اگر برنامه را اجرا کنید، باید پیامی با متن "Hello, Pyramid!" را در صفحه اصلی ببینید که از طریق یک Template رندر شده است.



📢 برای دیدن ادامه آموزش‌ها به کانال ما بپیوندید: [python3]

#پایتون #آموزش_پایتون #برنامه‌نویسی #Pyramid #وب #توسعه_وب
8️⃣ ذخیره‌سازی داده‌ها در دیتابیس
در نهایت، باید داده‌های فرم را در دیتابیس ذخیره کنیم. به View contact_view برگردید و کد زیر را اضافه کنید:

from .models import Contact

@view_config(route_name='contact', renderer='templates/contact.pt')
def contact_view(request):
form = create_contact_form().render()

if request.method == 'POST':
controls = request.POST.items()
try:
appstruct = create_contact_form().validate(controls)
new_contact = Contact(name=appstruct['name'], email=appstruct['email'])
session.add(new_contact)
session.commit()
except deform.ValidationFailure as e:
form = e.render()

return {'form': form}

🔍 توضیح کد:
- new_contact: یک شیء جدید از کلاس Contact ایجاد می‌کند و داده‌ها را ذخیره می‌کند.
- session.add(): شیء جدید را به session اضافه می‌کند.
- session.commit(): تغییرات را در دیتابیس اعمال می‌کند.

🎉 حالا شما یک فرم کاربردی دارید که داده‌ها را می‌گیرد و در دیتابیس ذخیره می‌کند!


📢 برای دیدن ادامه آموزش‌ها به کانال ما بپیوندید: [python3]

#پایتون #آموزش_پایتون #برنامه‌نویسی #Pyramid #وب #توسعه_وب
👍1
def main(global_config, **settings):
config = Configurator(settings=settings)
config.add_route('api_users', '/api/users')
config.add_route('api_user', '/api/users/{id}')
config.scan()
return config.make_wsgi_app()

🔍 توضیح کد:
- config.add_route('api_user', '/api/users/{id}'): مسیر api_user را به آدرس /api/users/{id} نگاشت می‌کند که در آن {id} شناسه کاربر است.

7️⃣ تست API
حالا می‌توانید از ابزارهایی مثل Postman یا cURL برای تست API خود استفاده کنید. برای مثال:

- GET: دریافت تمام کاربران: GET /api/users
- POST: افزودن کاربر جدید: POST /api/users با داده‌های JSON:

  {
"name": "John Doe",
"email": "john@example.com"
}

- DELETE: حذف کاربر با ID مشخص: DELETE /api/users/1

🎉 حالا شما یک REST API ساده برای مدیریت کاربران دارید که با Pyramid و SQLAlchemy پیاده‌سازی شده است!


📢 برای دیدن ادامه آموزش‌ها به کانال ما بپیوندید: [python3]

#پایتون #آموزش_پایتون #برنامه‌نویسی #Pyramid #وب #توسعه_وب #REST_API #دیتابیس