با توجه به موارد شرح داده شده در کلاس، فایل قالب مستندات API و Serialzier در درایو مشترک قابل دسترسی است، پس از اتمام فرایند مستندسازی کار های خود، فایل را برای خانم المیرا نیازی ارسال کنید. بعضی از جاها نیاز به درج بلوک کد می باشد. می تونید از Easy code formatter استفاده کنید.
علاوه بر اون لازم است تا دیتای ترم فعلی و ترم سابق خود را به صورت واقعی در دیتابیس وارد کنید
برای این کار لازمه که به پنل ادمین دسترسی داشته باشید. برای دسترسی به پنل ادمین از آدرس زیر استفاده می کنیم.
http://127.0.0.1:8000/admin
برای ورود به پنل در صورت نداشتن username, password پس از فعال کردن محیط مجازی از دستور زیر استفاده می کنیم و اطلاعات خواسته شده را به جنگو می دهیم.
manage.py createsuperuser
لینک فایل قالب (فایل فشرده): https://drive.google.com/file/d/15nlHpRIfNLMEw4clwFQImrJ_qT7lv2JZ/view?usp=share_link
صفحه مستندات API های توسعه داده شده تا به حال را می توانید پس از اجرا گرفتن از برنامه در آدرس زیر مشاهده و آنها را تست کنید
- توجه کنید که باید پکیج های مربوط را در محیط مجازی خود نصب کرده باشید برای اطمینان از داشتن آخرین پکیج ها پس از فعال سازی محیط مجازی دستور زیر را وارد می کنیم
// suppose you are in the project directory
venv\Scripts\Activate
pip install -r requirements.txt
سپس برای مشاهده مستندات به آدرس زیر می رویم
http://127.0.0.1:8000/edu/api/schema/swaggerui/
- نصب زبان برنامه نویسی python نسخه 3.8 به بالا
- نصب ادیتور vscode (یا هرچیز دیگری)
- نصب گیت
- نصب postman برای تست کردن API ها
- نصب mysql workbench (یا ابزار هایی که بتوانند به دیتابیس در هاست وصل شوند)
- داشتن یک حساب کاربری گیت هاب
برای مشارکت در پروژه ابتدا باید مطمئن شوید که توسط صاحب مخزن به عنوان یک توسعه دهنده در پروژه اضافه شده اید، در غیر این صورت امکان push
کردن کد هایتان وجود ندارد!
در جایی از سیستم خود پوشه ای بسازید، درون پوشه مذکور وارد شوید و روی آدرس بار کلیک کنید و عبارت CMD
را وارد کنید. در ترمینال باز شده دستور دریافت مخزن را وارد کنید
توجه کنید که اگر ترمینال را در جای دیگری مثلا محیط vscode
باز کردیم، مطمئن شویم که command prompt
می باشد و نه power shell
git clone https://github.com/SD2nd/amuzeshyar.git
مخزن دریافت شد
در ترمینال باز مرحله قبل عبارت
cd amuzeshyar
را وارد کنید، حال باید در این پوشه محیط مجازی برای نصب پکیج های مورد نیاز برنامه بسازیم با دستور
python -m venv venv
محیط مجازی ساخته خواهد شد. باید محیط مجازی را فعال کنیم با دستور:
venv\Scripts\Activate
اگر تا بدین جا مراحل را درست طی کرده باشیم، در ترمینال کلمه (venv) را سمت چپ خط فرمان خواهیم دید حال لازم است تا پکیج های مورد نیاز برنامه را در محیط مجازی خود نصب کنیم که از دستور
pip install -r requirements.txt
استفاده می کنیم.
برای توسعه باید از شاخه dev استفاده کنیم، به صورت پیشفرض بعد از دریافت مخزن روی این شاخه هستیم. تمامی تغییرات هم روی همین شاخه صورت می گیرد هنگامی که توسعه API یا ماژول توسط افراد به پایان رسید توسط مسئول مخزن با شاخه main ادغام خواهد شد. توجه شود که build برنامه به روی هاست روی شاخه اصلی (main) صورت خواهد گرفت
برنامه آماده اجرا شدن است. کافیست در ترمینال دستور زیر را وارد کنید:
manage.py runserver
در صورتی که برنامه به درستی اجرا شده باشد آدرس 127.0.0.1:8000
را نمایش خواهد داد در غیر این صورت ارور خواهیم دید
چنین چیزی نشان از درست اجرا شدن برنامه است:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
April 13, 2023 - 02:23:39
Django version 4.1, using settings 'configs.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
حال به توسعه کد بپردازید. و نتیجه را در 127.0.0.1:8000
ببینید
برای ذخیره سازی داده ها از یک دیتابیس هاست شده استفاده خواهیم کرد. هر یک از افراد می تواند به صورت مستقیم به پایگاه داده متصل شده و داده ها را اضافه، دستکاری یا حذف کند.
برای اتصال در mysql workbench
به روی افزودن نمونه جدید (علامت +) کلیک می کنیم
پنجره باز شده اطلاعات اتصال به دیتابیس هاست را می خواهد
تنظیمات دیتابیس به شرح زیر است
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'nifty_shaw',
'USER': 'root',
'PASSWORD': 'QLg6aDCHKs4VVgnzU0Et40Ce',
'HOST': 'may.iran.liara.ir',
'PORT': '31362',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
}
}
}
بعد از وارد کردن اطلاعات test connection
را بزنید، در صورت موفقیت آمیز بودن ok
را زده و وارد دیتابیس شوید.
در غیر این صورت مجددا امتحان کنید
- نیازمندی ها
- پایگاه داده
- طراحی کاربری
- تست