یه کله با یه عالمه سوال ( برنامه نویس وب نیمچه حرفه ای )
Django way (روشهای بهتر کار کردن با جنگو) , S1
توی این سری پست ها قصد دارم که یه سری روش های راحت تر کار کردن ( یا تمیز تر کار کردن یا هر چیزی که به نظرم باحال باشه ) با فریمورک محبوب جنگو رو به اشتراک بزارم و اینم قسمت اوله امیدوارم که براتون جالب باشه همچنین شما هم میتونید نظراتتون و روش هایی که بلدید رو هم با من به اشتراک بزارید خیلی خوشحال میشم. :)
فکر کنم برای قسمت اول از یه سری روش های آسون و جالب استفاده کنیم خوب باشه اولین مورد برای امروز :
روش مدیریت ثابت ها:
منظور از ثابت ها در این مورد اعداد یا رشته های هستن که توی برنامه ما تغییر نمیکنن همچنین اونقدر هم عمومی نیستند که در فایل settings.py قرار بگیرند سوال اینه که کجا باید بزاریمش ؟ به طور معمول توی مدل ها تعریفش میکنن اینطور:
# ./car/models.py
from django.db import models
class Car(models.Model):
RED = 'red'
BLUE = 'blue'
WHITE = 'white'
BLACK = 'black'
COLORS = (
(RED, "ًRed"),
(BLUE, "Blue"),
(WHITE, "White"),
(BLACK, "Black"),
)
color = models.CharField(max_length=80, choices=COLORS)
name = models.CharField(max_length=255)
company = models.CharField(max_length=255)
خب این روش خوبه... کار رو راه میندازه... ولی جالب نیست!!! یه مقدار کثیف کاریه... توی کلاس مدلمون الکی کد زدیم و همه چیز یکم قاطی شده به جای این کار میشه ثابت هامون رو توی فایل apps.py تعریق کنیم و از اونجا import کنیمشون اینطوری:
# ./car/apps.py
from django.apps import AppConfig
class CarConfig(AppConfig):
name = 'product'
RED = 'red'
BLUE = 'blue'
WHITE = 'white'
BLACK = 'black'
COLORS = (
(RED, "ًRed"),
(BLUE, "Blue"),
(WHITE, "White"),
(BLACK, "Black"),
)
--------------------------------------------------------------------------------------------
# ./car/models.py
from django.db import models
from .apps import CarConfig as conf
class Car(models.Model):
color = models.CharField(max_length=80, choices=conf.COLORS)
name = models.CharField(max_length=255)
company = models.CharField(max_length=255)
این روش به نظر تمیز تر میاد D: فایل ثابت هامون از فایل کد هامون جدا شد و همه چیز جای خودشه
مطلبی دیگر از این انتشارات
دستورات psql ای
مطلبی دیگر از این انتشارات
مدیریت هویت و دسترسی Identity and Access Management (IAM)
مطلبی دیگر از این انتشارات
پیاده سازی پخش کننده موزیک با زبان C و GTK-2.0 ( قسمت اول )