وبلاگ
جنگو

ثبت نام یا Sign Up

سلام به عنوان اولین گام باید یک url برای صفحۀ ثبت نام تعریف کنیم. myproject/urls.py

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

مرحلۀ بعدی ساخت یک تابع درون فایل ویو و با نام …

خواندن ادامه
جنگو

تنظیمات اولیه

سلام برای تمام این کارها لازم است تا برنامۀ جدیدی را ایجاد کنیم. برای انجام این کار وارد فولدری می شویم که فایل manage.py قرار دارد و دستور زیر را وارد می کنیم:

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

طبق روال باید این …

خواندن ادامه
جنگو

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

سلام در این فصل قصد داریم به مباحث اعتبارسنجی مثل ثبت نام، ورود به سیستم، خروج از سیستم، بازیابی پسورد و تغییر پسورد بپردازیم. همینطور چگونگی تعیین سطح دسترسی برای کاربران سایت از سایر افراد مطرح می شود. تا به این لحظه یک پروژه به نام Libogram تعریف کردیم که …

خواندن ادامه
جنگو

قالب‌های فرم با قابلیت استفادۀ مجدد یا Reusable Forms Templates

سلام اگر از مبحث قبلی به یاد داشته باشیم، منظور از این عنوان خلاصه سازی فرم ها و عدم تکرار یک سری کد در فایل های مختلف است. یعنی یک بار موارد ثابت را طراحی می کنیم و در فایل های جدید با اضافه‌کردن قسمت‌های قبلی و نوشتن قسمت‌های جدید …

خواندن ادامه
جنگو

زیباسازی فرم ها با Bootstrap

سلام برای کار با کتابخانه‌های Front-End مثل Bootstrap لازم است تا از پکیچِ django-widget-tweaks در جنگو استفاده کنیم. اول باید آن را نصب کنیم:

مثل همیشه باید به لیست برنامه‌ها اضافه شود: myproject/settings.py

حالا در برنامۀ خود از آن استفاده می کنیم: templates/new_topic.html

در ابتدا باید آن …

خواندن ادامه
جنگو

پیاده‌سازی فرم ها به شیوۀ استاندارد

سلام جنگو برای پیاده سازی و ساخت فرم ها یک ماژول آماده دارد که در forms قرار گرفته است. جنگو با دو نوع فرم با نام های forms.Form و forms.ModelForm کار می کند. کلاس Form یک کلاس عمومی برای ساخت انواع فرم ها بوده و در زمانی استفاده می شود …

خواندن ادامه
جنگو

فرم ها در جنگو

سلام کاربرد فرم ها که معلوم است اما مشکلی که در نرم افزارهای تحت وب وجود دارد مربوط به پیاده سازی ناصحیح فرم ها و عدم کنترل و پاکسازی ورودی‌ها بوده و ممکن است باعث حملاتی مثل SQLi یا XSS یا نظیر آن شود. اما در صورتی که در جنگو …

خواندن ادامه
جنگو

قالب‌هایی با قابلیت استفادۀ مجدد یا Reusable Templates

سلام تا به اینجای کار برای هر صفحۀ HTML به صورت جداگانه کد زدیم و بعضی وقت ها هم کدهای تکراری استفاده کردیم. در اینجا می خواهیم یک صفحۀ اصلی (master page) بسازیم و بعد قسمت های یکتایی را به هر تمپلیت اضافه کنیم. فایلی با نام base.html درون فولدر …

خواندن ادامه
جنگو
2

لیستی از الگوهای پرکاربرد URL

سلام تمام پیچیدگی کار در آدرس دهی مربوط به بخش ریجکس‌هاست که در این بخش به صورت جدولی آمده است. لینک:  https://simpleisbetterthancomplex.com/references/2016/10/10/url-patterns.html Primary Key AutoField Regex (?P<pk>\d+) Example url(r’^questions/(?P<pk>\d+)/$’, views.question, name=’question’) Valid URL /questions/934/ Captures {‘pk’: ‘934’} Slug Field Regex (?P<slug>[-\w]+) Example (r’^posts/(?P<slug>[-\w]+)/$’, views.post, name=’post’) Valid URL /posts/hello-world/ Captures   …

خواندن ادامه
جنگو

استفاده از APIها در URL

سلام حالا می خواهیم صفحۀ مربوط به تاپیک‌های یک بورد را کدنویسی کنیم. اولین کار این است که فایل urls.py را ویرایش کنیم: Libogram/urls.py

و حالا نوبت نوشتن تابع view است. boards/views.py

در فولدر templates یک فایل جدید با نام topics.html می سازیم: templates/topics.html

صفحۀ مربوطه با …

خواندن ادامه
هرگونه استفادۀ از این آموزش به صورت رایگان و با ارجاع به تمدن جایز است.