[TehPUG] User manger App
soroosh sarabadani
soroosh.sarabadani at gmail.com
Mon May 26 09:04:07 CEST 2014
یک سوال.
User Management چرا اصلا باید پیام داشته باشه؟
به نظرم وجود این امکان app رو از minimal بودن خارج میکنه
2014-05-26 11:23 GMT+04:30 NIM4N <nim4n at yahoo.com.dmarc.invalid>:
> مدل پیغام به نظرم به شکل فایل پیوست باشه بهتره
>
>
>
>
> On 05/26/2014 10:25 AM, soroosh sarabadani wrote:
>
> Many To Many که خوب جدول ساخته میشه پس به نظرم اضافه کردن ویژگیهای خاص
> رابطه مفیده سربار خاصی هم نداره.
>
> منم با آقا نیما درباره اسمها کاملا موافقم.
>
>
> 2014-05-26 10:15 GMT+04:30 NIM4N <nim4n at yahoo.com.dmarc.invalid>:
>
>> به نظرم فرند ها هم many to many باشه توی خود پروفایل، نیازی هست به خاطر
>> یک تاریخ دوستی یه تیبل جدا بزنیم؟
>> اسمها رو هم پدر مادر دار بزنید :)
>> On 05/26/2014 04:24 AM, amir baleghi wrote:
>>
>> سلام بر کاربر های عزیز TEHPUG
>> خسته نباشید .. همون طور که توی جلسه مشخص شد قرار شد یک سیستم مدیریت
>> کاربران برای سایت پاگ بسازیم. خوب همون طور که توی جلسه بحث کردیم مدلی که
>> بنده آورده بودم رو برای به عنوان شروع کار قرار دادیم... (البته با تغییرات
>> احتمالی که در ادامه می گم)...
>> برای شروع کار از کتابخونه Djengo کمک می گیرم . توی این سایت مقدمات
>> سفارشی کردن سیستم user manager رو توضیح داده . به همه بچه توصیه می کنم این
>> رو تا انتها بخونن.... تمام روش هایی رو که شمای می تونید از سیستم user
>> manager جنگو استفاده کنید رو توضیح داده است. و معایب بعضی از روش ها رو هم
>> بیان کرده است.
>>
>> https://docs.djangoproject.com/en/dev/topics/auth/customizing/
>>
>> خوب در ادامه به سیستم پیشنهادی می پردازیم
>> برای شروع کار من از ساختار پروفایل استفاده کردیم .که البته باید در مورد
>> استفاده از این ساختار با هم به توافق برسیم . انتخاب ساختار بستگی به روش کار
>> ما داره که باید روش بحث کنیم . که ادامه بهش اشاره می کنم
>> با توجه به مستندات لینک بالا بهترین روش های برای استفاده از ساختار user
>> manager جنگو دو روش زیر می باشند:
>> ۱- روش پروفایل
>> ۲ - استفاده از Abstract class
>> هستش. بقیه روش ها یا برای ما کارایی لازم رو نداره یا دارای معایب بزرگی
>> هست. البته بازم بجه اگر روش دیگه به نظر شون میاد بگن که روی اون ها هم بحث
>> کنیم
>> روش پروفایل همون طور که در مستند توضیح داده شده است. از یک ارتباط یک به
>> یک بهره می بره . شما با درست کردن مدل خودتون به صورت کاملا سفارشی اون رو
>> مدل کاربران اصلی جنگو با یک ارتباط یک به یک ارتباط می دهید
>> مزایا این روش خیلی زیاد هست . و یک پشتوانه علمی داره . اگر لازم به ذکر
>> شد توضیخ می دم
>> معایب هم کاملا مشخصه وقتی شما یک مدل را به یک مدل دیگه متصل می کنید بحث
>> هزینه های join و پیجیدگی query ها مطرح میشه. که خوب این هم به نظر من با
>> بهینه سازی query ها می تونیم این مسایل رو برطرف کنیم. حتی می تونیم از فیلد
>> های redundant استفاده کنیم که هزینه join ها مون پایین بیاد.
>>
>> در روش دوم بجث Abstract class
>> در این روش ما با استفاده از کلاس های abstract اقدام به ساخت یک سیستم
>> جدید user manger می کنیم که با استفاده از ارث بری از کلاس های abstract
>> کاربری از روش استفاده می کنیم .
>> مزایا این روش به نظر من سفارشی کردن کامل بحث user manger هست . در این
>> روش سیستم شما در حالت پیش فرض کاملا مستقل از سیستم اصلی جنگو عمل می کند
>> یعنی در حالتی شما این سیستم را پیاده سازی می کنید که می خواهیم مستقل از
>> جنگو عمل کنیم و یک سیستم مدیریت کاربران کاملا سفارشی و مسقل داشته باشیم
>> در این حالت شما نیم نگاهی به امنیت سایت هم داشته ای چون در این حالا
>> کاربران عادی سایت از کابراران توسعه دهنده سایت مجزا می باشند که می تونه
>> برای خودش یک ابزار برای گمراهی مهاجم ها به سایت باشه.
>> البته مزایا های دیگه هم ممکن داشته باشه که در حال حاضر ذهن یاری نمی
>> کنه (ساعت ۴ صبح هستش)
>> معایبش هم به نظر من بحث بازنویسی دوباره کد هستش ....یعنی شما در این
>> حالت نیاز دارید بسیاری از پیش فرض های جنگو را پیاده سازی کنید که در این
>> حالت یک جورایی دوباره کاری های انجام شده ....که می تونه زمینه ساز خطا در
>> برنامه باشه . و از طرفی بدلیل پیاده سازی های نادرست زمینه ورود مهاجم به
>> سایت رو هم بدیم.که در این حالت برای بطرف کردن این کار می تونیم از روش های
>> تست که در سیستم جنگو هست استفاده کنیم که در این حالت می تونیم از بروز خطا
>> جلوگیری کنیم و سیستمون رو امن تر کنیم.
>>
>> خوب مدل های رو که من به عنوان پیش فرض اماده کردم رو اینجا می زارم
>> برای این مدل ها من روش پروفایل استفاده کردم.
>> برای روش abstarct هم می تونیم از لینک استفاده کنید. در اونجا یک مثال
>> کامل از روش بیان شده است
>>
>>
>> from django.db import models
>> from django.contrib.auth.models import User
>>
>> class PugUsers(models.Model):
>> user = models.OneToOneField(User)
>> userInformation = models.CharField(max_length=500)
>> userImage = models.CharField(max_length=50)
>> userAbility = models.CharField(max_length=500)
>>
>>
>>
>> class PugFriends(models.Model):
>> userF = models.ForeignKey(PugUsers, related_name="userF")
>> userFriend = models.ForeignKey(PugUsers, related_name="user_Friend")
>> friendshipDate = models.DateTimeField(auto_now=True)
>>
>>
>> class PugMessage(models.Model):
>> userSender = models.ForeignKey(PugUsers, related_name="user_sender")
>> userReceiver = models.ForeignKey(PugUsers,
>> related_name="user_receiver")
>> mesSubject = models.CharField(max_length=100)
>> mesBody = models.CharField(max_length=1000)
>>
>> خوب از اینجا به بعدش می تونیم از بین این دو روش انتخاب کنیم
>> هر کدوم مزایا و معیابی داره تا جایی که ذهن یاری می کرد این رو بیان کردم
>> از اینجا به بعد بچه ها کمک کنن ببینید چه مبنایی رو به عنوان شروع کار
>> قرار بدهیم.
>> از آقا نیما تشکر می کنم که به بنده یاد آوری کردن....خیلی ممنون
>> فایل های پروژه رو براتون پیوست می کنم.
>> منتظر نظر های شما هستیم
>>
>>
>> _______________________________________________
>> TehPUG mailing list
>> Website: http://tehpug.ir
>> List Address" TehPUG at python.org
>> List Options: https://mail.python.org/mailman/listinfo/tehpug
>>
>>
>>
>> _______________________________________________
>> TehPUG mailing list
>> Website: http://tehpug.ir
>> List Address" TehPUG at python.org
>> List Options: https://mail.python.org/mailman/listinfo/tehpug
>>
>
>
>
> _______________________________________________
> TehPUG mailing list
> Website: http://tehpug.ir
> List Address" TehPUG at python.org
> List Options: https://mail.python.org/mailman/listinfo/tehpug
>
>
>
> _______________________________________________
> TehPUG mailing list
> Website: http://tehpug.ir
> List Address" TehPUG at python.org
> List Options: https://mail.python.org/mailman/listinfo/tehpug
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tehpug/attachments/20140526/7a79f412/attachment.html>
More information about the TehPUG
mailing list