توابع پرکاربرد پایتون

توابع پرکاربرد پایتون

 ( با محوریت جنگو):

قبل از اینکه توابع پرکاربرد پایتون و سینتکس کاربردی جنگو را خدمتتان ارائه کنم اول باید بدانیم که جنگو چیست ؟

جنگو (Django) یک فریم‌ورک وب محبوب و متن‌باز برای زبان برنامه‌نویسی پایتون است.

هدف اصلی آن ساده‌سازی فرآیند توسعه وب و ارائه امکانات لازم برای ساخت سریع و کارآمد برنامه‌های وب پویاست.

ویژگی‌های کلیدی جنگو شامل:

  1. ساختار MVC: جنگو از الگوی طراحی مدل-نما-کنترل‌گر (MVC) پیروی می‌کند که سازماندهی کد را تسهیل می‌کند.
  2. مدل ORM: این فریم‌ورک از یک سیستم ORM (مدل رابط شیء) استفاده می‌کند که به برنامه‌نویسان اجازه می‌دهد تا با پایگاه داده‌ها به صورت شیء‌گرا کار کنند.
  3. امنیت: جنگو به طور پیش‌فرض امکانات امنیتی مختلفی دارد که توسعه‌دهندگان را در برابر حملات رایجی مانند تزریق SQL و CSRF محافظت می‌کند.
  4. مدیریت پیشرفته: یکی از ویژگی‌های منحصر به فرد جنگو، پنل مدیریت اتوماتیک آن است که به راحتی می‌توان از آن برای مدیریت داده‌ها استفاده کرد.
  5. کتابخانه‌های غنی: جنگو دارای مجموعه‌ای کامل از کتابخانه‌ها و پلاگین‌هاست که به توسعه‌دهندگان کمک می‌کند تا قابلیت‌های برنامه خود را افزایش دهند.

این فریم‌ورک به دلیل سادگی و قابلیت‌های قدرتمندش به سرعت در بین برنامه‌نویسان محبوب شده است.

عنوان توضیح  نحوه نوشتاری در ساختار
 `render`  برای رندر کردن صفحات ، با استفاده از تمپلیت‌ها  `return render(request, ‘index.html’)`
 `url` برای ایجاد آدرس های داینامیک در تمپلیت  `<a href=”{% url ‘home’ %}”>Home</a>`
 `get_object_or_404`  برای گرفتن یک شیء یا برگرداندن خطای 404 وقتی پیدا نشود  `post = get_object_or_404(Post, pk=1)`
 `redirect` هدایت  `return redirect(‘homepage’)`
 `HttpResponse`   برای برگرداندن یک پاسخ  `return HttpResponse(“Hello, world!”)`
 `Http404`  برای ایجاد خطای 404  `raise Http404(“This page does not exist”)`
 `@login_required`  برای نیاز به ورود به سیستم برای دسترسی به یک نما  `@login_required`
 `Model.objects.all()`  برای گرفتن تمام رکوردهای یک مدل  `posts = Post.objects.all()`
 `Model.objects.filter()`  برای فیلتر کردن رکوردهای یک مدل بر اساس شرایط  `posts = Post.objects.filter(author=’Alice’)`
 `Model.objects.get()`  برای گرفتن یک رکورد خاص از مدل  `post = Post.objects.get(pk=1)`
 `Model.save()`  برای ذخیره یک شیء به پایگاه داده  `post.save()`
 `Model.delete()`  برای حذف یک شیء از پایگاه داده  `post.delete()`
 `@csrf_exempt`  برای غیرفعال کردن حفاظت ( )  برای یک نما  `@csrf_exempt`
 `@require_POST`  برای محدود کردن یک نما به روش پست  `@require_POST`
 `forms.ModelForm`  برای ایجاد فرم‌ها از مدل‌ها  `class PostForm(forms.ModelForm):`
 `forms.ValidationError`  برای ایجاد خطای ولیدیشن در فرم‌ها  `raise forms.ValidationError(“Invalid data”)`
 `settings`  دسترسی به تنظیمات پروژه  `from django.conf import settings`
 `MEDIA_URL`  برای دسترسی به آدرس های مربوط به رسانه‌ها  `settings.MEDIA_URL`
 `STATIC_URL`  برای دسترسی به مربوط آدرس فایل‌های استاتیک  `settings.STATIC_URL`
 `signals.post_save`  برای انجام عملی بعد از ذخیره یک شیء  `@receiver(post_save, sender=Post)`
 `cache.get()`  برای دریافت داده از کش  `data = cache.get(‘my_key’)`
 `cache.set()`  برای ذخیره داده در کش  `cache.set(‘my_key’, ‘my_value’, timeout=60)`
 `create_user()`  برای ایجاد یک کاربر جدید در پایگاه داده  `User.objects.create_user(username, password)`
 `get_user_model()`  برای دریافت مدل کاربر فعلی  `User = get_user_model()`
 `bulk_create()`  برای ایجاد چند شیء به صورت هم‌زمان  `Post.objects.bulk_create([Post(…), Post(…)])`
 `@admin.register`  برای ثبت یک مدل در پنل ادمین  `@admin.register(Post)`
 `class Meta`  برای تعیین تنظیمات مدل مانند نام پایگاه داده  `class Meta: db_table = ‘my_table’`
 `startapp`  برای ایجاد یک اپلیکیشن جدید در پروژه جنگو  `django-admin startapp myapp`
 `makemigrations`  برای ایجاد فایل‌های مهاجرت  `python manage.py makemigrations`
 `migrate`  برای اجرای مهاجرت‌ها  `python manage.py migrate`
 `runserver`  برای راه‌اندازی سرور توسعه  `python manage.py runserver`
 `shell`  برای دسترسی به محیط تعاملی پایتون در جنگو  `python manage.py shell`
 `collectstatic`  برای جمع‌آوری فایل‌های استاتیک برای تولید  `python manage.py collectstatic`
 `test`  برای اجرای تست‌های مرتبط با پروژه  `python manage.py test`
 `forms.fields.CharField`  برای ایجاد فیلد کاراکتری در فرم  `name = forms.CharField(max_length=100)`
 `forms.fields.EmailField`  برای ایجاد فیلد ایمیل در فرم  `email = forms.EmailField()`
 `forms.fields.IntegerField`  برای ایجاد فیلد عدد صحیح در فرم  `age = forms.IntegerField()`
 `@admin.action`  برای ایجاد عملی در پنل ادمین  `@admin.action(description=’Mark selected’)`
 `@property`  برای تعریف ویژگی‌های محاسبه شده در مدل  `@property def is_published(self): return self.status == ‘published’`
 `@receiver`  برای گوش دادن به سیگنال‌ها  `@receiver(signal, sender=MyModel)`
 `notify_user`  برای ارسال اطلاعیه به یک کاربر (فرضی)  `notify_user(user, “Message”)`
 `class View`  برای ایجاد نماهای مبتنی بر کلاس  `class HomeView(View):`
 `HttpResponseRedirect`  برای ایجاد پاسخ هدایت به یک ادرس  `return HttpResponseRedirect(‘/somewhere/’)`
 `path()`  برای تعریف مسیر آدرس ها  `urlpatterns = [path(‘home/’, HomeView.as_view())]`
 `get_context_data()`  برای افزودن داده‌های اضافی به زمینه در نماهای مبتنی بر کلاس  `def get_context_data(self, **kwargs):`
 `staticfiles_storage`  برای دسترسی به فایل‌های استاتیک در اپلیکیشن  `from django.contrib.staticfiles.storage import staticfiles_storage`
 `DateTimeField`  برای تعریف فیلد تاریخ و زمان در مدل  `published_date = models.DateTimeField()`
 `get_absolute_url()`  برای تعریف آدرس های مربوط به یک شیء خاص  `def get_absolute_url(self): return reverse(‘post_detail’, args=[self.pk])`
 `first()`  برای دریافت اولین رکورد از یک  کوئری  `first_post = Post.objects.first()`
 `distinct()`  برای دریافت رکوردهای منحصربه‌فرد  `unique_posts = Post.objects.distinct()`

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *