خاطرات فنی من

یادداشتهایی در مورد تجربیات فنی من به عنوان یک مهندس نرم افزار برای مراجعه بعدی خودم و احتمالا دیگران.

سعی می کنم مطالب برای دیگران هم قابل استفاده باشند اما به دلیل کمی وقت نمی توانم زیاد نگران نگارش و چینش متن باشم

۶ مطلب با کلمه‌ی کلیدی «django» ثبت شده است

همانطور که می دانید Active Directory از پروتکل LDAP استفاده می کند. بنابراین چیزی که ما می خواهیم درواقع LDAP Authentication in Django است.

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۹ شهریور ۰۲ ، ۱۸:۰۶
محسن

برای کار با django زیرساختهایی لازم است که چون دیر به دیر از آن استفاده می کنیم فراموش می شوند.

به همین خاطر آنها را اینجا یادداشت می کنم، برای ارجاعات بعدی

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ شهریور ۰۲ ، ۰۹:۳۵
محسن

نکته مهم این است که django بر خلاف انتظار اصلا کاری به تگهای کامنت HTML ندارد و آنها را نادیده می گیرد، گویی آن تگها وجود ندارند ولی محتوای داخل آن تگها وجود دارد. فقط به تگهای {%  %} نگاه می کند. حتی اگر قسمتی از کد را داخل کامنت HTML گذاشته باشید دقیقا همان قسمت داخل کامنت را هم بدون توجه بررسی می کند و خروجی خودش را می سازد. البته که خروجی داخل کامنتهای HTML قرار می گیرد.

مثلا اگر شما در جای نامناسب چنین چیزی بنویسید پیام خطا دریافت خواهید کرد:

<!-- {% endif %} -->

پیام خطایی مشابه به این:

Invalid block tag on line 33: 'endif'

برای کامنت کردن چیزی از دید django باید از این تگها استفاده کنید:

{% comment %}

{% endcomment %}
۰ نظر موافقین ۰ مخالفین ۰ ۱۹ مرداد ۰۲ ، ۱۱:۰۴
محسن

اگر در قسمت ادمین django یوزر درست کرده باشید دیده اید که می توان برای هر کاربر و هر گروه از کاربران روی هر کلاسی که داخل models تعریف کرده اید دسترسی تعریف کنید: هر کاربر می تواند دسترسی add , delete , change or view روی هر مدل تعریف شده داشته باشد.

یکی از روشهای اعمال دسترسی کاربران به داده ها همین است.

۰ نظر موافقین ۰ مخالفین ۰ ۱۷ مرداد ۰۲ ، ۱۸:۳۵
محسن

برای اینکه از روند کار و جزئیات Class Based Views بیشتر سر در بیاورید بد نیست به این سایتها نگاهی بیاندازید:

 

Classy Class Based View site  : https://ccbv.co.uk/ 

 

CBV Diagrams pages : https://www.brennantymrak.com/articles/django-class-based-views-diagrams.html

۰ نظر موافقین ۰ مخالفین ۰ ۰۹ مرداد ۰۲ ، ۱۰:۴۱
محسن

بهترین جواب این است که برای این روزها باید source control داشته باشید و براحتی همه فایلهای حذف شده را بازگردانید.

اما حالا بدون source control چه کنیم؟

 

کاری که ما در یک پروژه آزمایشی انجام دادیم این بود. البته که مسوولیت هر کاری با خود شماست:

مطابق این لینک اول باید همه سابقه migration را حذف کنید و از نو بسازید:

a. go to python shell python manage.py shell 
b. type from django.db.migrations.recorder import MigrationRecorder 
c. type MigrationRecorder.Migration.objects.all().delete()

 

برای ساخت migrations جدید:

./manage.py makemigrations <myapp>

 

 

و در نهایت:

python manage.py migrate --fake 
۰ نظر موافقین ۰ مخالفین ۰ ۰۸ مرداد ۰۲ ، ۱۸:۰۹
محسن