نوشتن اولین برنامه با جنگو ، قسمت 1

بیایید با مثال بیاموزیم در طول این آموزش یک برنامە نظرسنجی خواهیم ساخت و این برنامە از دو بخش تشکیل شده است:

  • یک سایت عمومی که به مردم اجازه می دهد نظرسنجی ها را ببینند و در آنها رای دهند.
  • سایت مدیر که به شما امکان می دهد نظرسنجی ها را اضافه کنید ، تغییر دهید و حذف کنید.

فرض خواهیم کرد که Django را از قبل نصب کرده اید. با اجرای این دستور نسخە جنگو خود را مشاهدە خواهید کرد

برای شما
1python -m django --version

اگر Django نصب شده است ، باید نسخه نصب خود را مشاهده کنید. اگر اینگونه نباشد ، خطایی برای گفتن هیچ ماژولی به نام django رخ خواهد داد.

این آموزش برای جنگو 3.1 نوشته شده است ، که از پایتون 3.6 و بعد نیز پشتیبانی می کند.

ایجاد یک پروژه

بیا شروع کنیم
بیا شروع کنیم

اگر این اولین بار است که از Django استفاده می کنید ، باید از راه اندازی اولیه استفادە کنید. یعنی ، باید یک کد را اجرا کنید که یک پروژه Django را ایجاد کند – مجموعه ای از تنظیمات برای نمونه Django ، از جمله پیکربندی بانک اطلاعاتی ، گزینه های خاص جنگو و تنظیمات خاص برنامه ها.

از خط فرمان ، cd را به پوشه ای که می خواهید کد خود را ذخیره کنید ، دستور زیر را اجرا کنید:

1django-admin startproject mysite

با این کار دایرکتوری mysite در فهرست اصلی شما ایجاد می شود.

لازم نیست از نامگذاری پروژه ها پس از اجزای داخلی Python یا Django جلوگیری کنید. به طور خاص ، این بدان معناست که شما باید از استفاده از نام هایی مانند django (که با خود جنگو در تضاد است) یا آزمایش (که با بسته داخلی پایتون منافات دارد) خودداری کنید.

اگر پیشینه شما در PHP ساده و قدیمی (بدون استفاده از چارچوب های مدرن) است ، احتمالاً شما می خواهید کد را در زیر ریشه سند سرور وب قرار دهید (در محلی مانند / var / www). با جنگو ، شما این کار را نمی کنید. ایده خوبی نیست که بتوانید هرکدام از این کدهای پایتون را در ریشه سند سرور وب خود قرار دهید ، زیرا این احتمال را برای شما ایجاد می کند که افراد بتوانند کد شما را از طریق وب مشاهده کنند. این برای امنیت خوب نیست.کد خود را در بعضی از فهرست ها در خارج از ریشه سند ، مانند / home / mycode قرار دهید.

بیایید ببینیم پروژه اولیه ایجاد شده چگونە است:

12345678mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

این پرونده ها عبارتند از:

  • پوشه ریشه بیرونی/mysite یک ظرف برای پروژه شما است. نام آن برای جنگو مهم نیست. می توانید آن را به هر چیزی که دوست دارید تغییر دهید.
  • فایل manage.py: یک ابزار خط فرمان که به شما امکان می دهد از طرق مختلف با این پروژه جنگو ارتباط برقرار کنید.
  • پوشە /mysite فهرست اصلی بسته واقعی Python برای پروژه شما است. نام آن نام بسته پایتون است که برای وارد کردن هر چیزی در داخل آن (به عنوان مثال mysite.urls) باید از آن استفاده کنید.
  • فایل mysite / __ init__.py: پرونده ای خالی که به پایتون می گوید که این فهرست باید یک بسته پایتون در نظر گرفته شود.
  • فایل mysite / settings.py: تنظیمات / پیکربندی این پروژه جنگو. تنظیمات جنگو در مورد نحوه عملکرد تنظیمات به شما همه می گوید.
  • فایل mysite / urls.py: اعلامیه های URL برای این پروژه Django است و “فهرست مطالب” سایت شما توسط جنگو.
  • فایل mysite / asgi.py: یک نقطه ورود برای سرورهای وب سازگار با ASGI برای کار با پروژه شما است
  • فایل mysite / wsgi.py: یک نقطه ورود برای سرورهای وب سازگار با WSGI برای کار با پروژه شما است.

سرور توسعه

برای اجرای پروژە دستور زیر را اجرا کنید

1python manage.py runserver

خروجی زیر را در خط فرمان مشاهده خواهید کرد:

1234567891011Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

August 07, 2020 - 15:50:53
Django version 3.1, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

شما سرور توسعه Django را آغاز کرده اید ، یک وب سرور سبک وزن که صرفاً در پایتون نوشته شده است. ما این مورد را با Django گنجانده ایم تا بتوانید به سرعت و بدون نیاز به پیکربندی یک سرور تولید داشتە باشید

اکنون زمان مناسبی برای یادآوری است: از این سرور در هر چیزی که شبیه یک محیط تولید باشد استفاده نکنید. این فقط برای استفاده در حین توسعه در نظر گرفته شده است. (ما در زمینه ساخت چارچوب های وب هستیم نه سرورهای وب.)

اکنون که سرور در حال اجراست ، با مرورگر وب خود به http://127.0.0.1:8000/ مراجعه کنید. یک “تبریک” می بینید با یک موشک در حال پرواز است.

تغییر port

به طور پیش فرض ، دستور runserver سرور توسعه را در IP داخلی در پورت 8000 شروع می کند.

اگر می خواهید درگاه سرور را تغییر دهید ، آن را به عنوان آرگومان خط فرمان منتقل کنید. به عنوان مثال ، این دستور سرور را در پورت 8080 شروع می کند:

1python manage.py runserver 8080

اگر می خواهید IP سرور را تغییر دهید ، آن را همراه با درگاه منتقل کنید. به عنوان مثال ، برای گوش دادن به تمام IP های عمومی موجود (که در صورت اجرای Vagrant مفید است یا می خواهید کار خود را در رایانه های دیگر موجود در شبکه نشان دهید) ، استفاده کنید:

1python manage.py runserver 0:8000

0 میانبر برای 0.0.0.0 است

سرور توسعه به طور خودکار کد پایتون را در صورت نیاز بارگیری مجدد می کند. برای اعمال تغییرات لازم نیست سرور را مجدداً راه اندازی کنید. با این حال ، برخی از اقدامات مانند اضافه کردن پرونده ها مجدداً راه اندازی مجدد نمی شوند ، بنابراین مجبورید در این موارد سرور را مجدداً راه اندازی کنید.

ایجاد برنامه نظرسنجی

اکنون که محیط شما – “یک پروژه” تنظیم شده است ، شما قرار است کار خود را شروع کنید.

هر برنامه ای که در Django می نویسید شامل یک بسته Python است که از یک قرارداد خاص پیروی می کند. Django با ابزاری ارائه می شود که بطور خودکار ساختار اصلی فهرست را از برنامه ایجاد می کند ، بنابراین می توانید به جای ایجاد دایرکتوری ، روی نوشتن کد متمرکز شوید.

پروژه ها در مقابل برنامه ها

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

برنامه های شما می توانند در هر نقطه از مسیر Python شما باشند. در این آموزش ، ما برنامه نظرسنجی خود را در همان دایرکتوری همانند فایل manage.py شما ایجاد خواهیم کرد تا بتوان آن را به عنوان یک ماژول سطح بالایی خود وارد کرد ، نه یک زیرمجموعه‌ی Myite.

برای ایجاد برنامه خود ، اطمینان حاصل کنید که در همان دایرکتوری مانند manage.py قرار دارید و این دستور را تایپ کنید:

1python manage.py startapp polls

این نظرسنجی دایرکتوری ایجاد می کند ، که به شرح زیر است:

123456789polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

این ساختار دایرکتوری برنامه نظرسنجی را در خود جای داده است.

اولین view خود را بنویسید

بگذارید اولین view را بنویسیم. فایل polls/views.py را باز کنید و کد پایتون زیر را در آن قرار دهید:

1234from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

این ساده ترین نمای ممکن در جنگو است. برای ارتباط با view ، باید آن را به صورت URL تعریف کنیم و برای این کار به URLconf نیاز داریم.

برای ایجاد URLconf در برنامە ها ، پرونده ای به نام urls.py. ایجاد کنید. اکنون فهرست دایرکتوری شما باید شبیه به این موارد باشد:

1234567891011polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    urls.py
    views.py

در پروندهpolls/urls.py کد زیر را وارد کنید:

1234567from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

حالا بە فایل mysite/urls.py بروید و این کد را قرار دهید

1234567from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

تابع include () امکان ارجاع به URLconfs های دیگر را فراهم می آورد.

اجرای برنامە

حالا با اجرای این دستور برنامە را اجرا کنید

1python manage.py runserver

بعد از تمرین این مباحث میتوانید بە قسمت دوم آموزش بروید

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

instagram:rojcode

telegram:rojcode

نویسنده مطلب: مبین ولدی

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

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

آدرس ایمیل شما منتشر نخواهد شد.