در این مقاله یک برنامه ساده Django خواهیم ساخت که آب و هوای فعلی را برای شهرهای مختلف نشان می دهد. برای به دست آوردن داده های فعلی هوا ، از Open Weather Map API استفاده خواهیم کرد.
با یک بانک اطلاعاتی کار خواهیم کرد و فرمی ایجاد می کنیم ، بنابراین مفاهیم مورد استفاده در اینجا برای پروژه های پیچیده تری قابل اجرا هستند.
کد موجود در این مقاله با Python 3 و Django 2.0 نوشته شده است ، بنابراین برای دنبال کردن این آموزش ، باید تا حدودی با هر دو آشنا باشید.
وقتی کار ما به پایان رسید، برنامه به این شکل خواهد بود.

تمام کد های این مقاله در GitHub قرار دارند.
نصب و راه اندازی
نصب Django مانند نصب هر کتابخانه دیگری در Python است: شما می توانید یک محیط مجازی را راه اندازی کنید و برای نصب Django ، pip را اجرا کنید ، یا می توانید کاری را که من انجام می دهم انجام دهید و یک دایرکتوری پروژه ایجاد کنید ، pipenv را اجرا کنید و سپس پوسته pipenv را فعال کنید. هر دو روش کار می شود ، اما برای این مقاله از pipenv استفاده می کنم.
⦁ $ pipenv install django

با این دستور آخرین نسخه Django برای شما نصب می شود. در زمان نوشتن این مقاله ، Django در نسخه 2.0.4 موجود است.
وقتی Django را نصب کردید ، اگر قبلاً دیرکتوری برای این پروژه ندارید ، یک دیرکتوری ایجاد و به داخل آن بروید. در آنجا ، می توانید دستور startproject را که Django به شما می دهد برای تولید پروژه اجرا کنید.
⦁ $ django-admin startproject the_weather

Django باید چندین فایل جدید را در دیرکتوری شما ایجاد کند.
بیایید سعی کنیم سرور مجازی توسعه را راه اندازی کنیم. برای انجام این کار ، به دیرکتوری جدید بروید و از manage.py برای اجرای دستور runserver در ترمینال خود استفاده کنید:
⦁ $ cd the_weather

⦁ $ python manage.py runserver

اگر به پایانه خود نگاه کنید ، باید URL برنامه خود را مشاهده کنید. به طور پیش فرض باید 127.0.0.1:8000 باشد.

مرورگر خود را باز کنید و به آن URL بروید.

اگر این را ببینید ، می فهمید که Django را به درستی تنظیم کرده اید. قطعاً باید آن را ببینید زیرا ما هنوز سعی نکرده ایم که کد را اصلاح کنیم.
داشبورد ادمین
در مرحله بعد می خواهیم نگاهی به داشبورد سرور مجازی که Django به ما نشان میدهد، بیاندازیم. برای انجام این کار ، ابتدا باید پایگاه داده خود را جابه جا کنیم ، به این معنی که Django جدولهای از پیش تعریف شده مورد نیاز برنامه های پیش فرض را ایجاد می کند. برای این کار ، دستور migrate  را اجرا کنید. سرور مجازی را با استفاده از CTRL + C متوقف و سپس دستور زیر را اجرا کنید:
⦁ $ python manage.py migrate

با اجرای آن دستور ، Django یک پایگاه داده SQLite برای شما ایجاد کرده است ، بانک اطلاعاتی پیش فرض در تنظیمات ، و چندین جدول به آن پایگاه داده اضافه کرده است. می دانید اگر یک فایل جدید db.sqlite3 را در دیرکتوری پروژه خود مشاهده کنید ، این بانک اطلاعات ایجاد شده است.
یکی از جداولی که Django به ما میدهد جدول کاربر است ، که برای ذخیره هر کاربر در برنامه ما استفاده خواهد شد. برنامه ای که ما در حال ساختن آن هستیم نیازی به هیچ کاربری ندارد ، اما داشتن کاربر ادمین به ما امکان دسترسی به داشبورد ادمین را می دهد.
برای ایجاد یک کاربر ادمین ، دستور createsuperuser را اجرا می کنیم.
⦁ $ python manage.py createsuperuser

با دادن نام کاربری ، آدرس ایمیل و رمز ورود برای کاربر ادمین خود ، دستورالعمل ها را دنبال کنید. پس از انجام این کار ، باید دوباره سرور مجازی را راه اندازی کنید و به داشبورد سرور مجازی بروید.
⦁ $ python manage.py runserver

سپس به 127.0.0.1:8000/admin بروید.
دلیل اینکه می توانیم به این صفحه برویم این است که ادمین در urls.py ما تنظیم شده است (دلیل اینکه می توانیم صفحه تبریک را ببینیم این است که Django به شما این امکان را می دهد تا نشانی اینترنتی خود را اضافه کنید(.
اگر با نام کاربری و رمز عبوری که تازه ایجاد کرده اید وارد شوید ، باید داشبورد ادمین Django را ببینید.

گروه ها و کاربران نمایانگر دو مدل هستند که Django به ما دسترسی می دهد. مدل ها فقط تفسیر کدهای جدول از یک پایگاه داده هستند. حتی اگر Django جدولهای بیشتری ایجاد میکرد ، هیچ نیازی به دسترسی مستقیم به بقیه آنها نیست ، بنابراین هیچ مدلی ایجاد نشد.
اگر روی “user” کلیک کنید ، باید جزئیات بیشتری در مورد جدول کاربر مشاهده کنید ، و باید کاربر ایجاد شده را مشاهده کنید. ایده خوبی است که با کلیک روی پیوندهای مختلف در داشبورد ، جستجو کنید تا ببینید چه چیزی در آنجا وجود دارد. فقط مراقب باشید که کاربر خود را حذف نکنید ، در غیر اینصورت مجدداً باید createsuperuser را اجرا کنید.
بگذارید فعلاً داشبورد ادمین را رها کنیم و به سراغ کد برویم. باید برای برنامه هواشناسی خود برنامه ای را در داخل پروژه خود ایجاد کنیم.
ایجاد برنامه
در Django ، می توانید با استفاده از برنامه ها ، عملکرد خود را در پروژه جدا کنید. من فکر می کنم app یک اسم گیج کننده است زیرا ما معمولاً یک app را برای کل پروژه معرفی می کنیم ، اما در مورد Django ، app به عملکرد خاصی در پروژه شما اشاره دارد. به عنوان مثال ، اگر به فایل settings.py نگاه کنید ، لیست INSTALLED_APPS را مشاهده خواهید کرد.
اولین برنامه نصب شده ، django.contrib.admin همان چیزی است که ما اکنون استفاده کردیم. این برنامه همه عملکردهای ادمین را اداره می کند و و هیچ چیز دیگری را شامل نمیشود. برنامه دیگر در پروژه ما به طور پیش فرض مواردی مانند auth است که به ما امکان ورود به داشبورد ادمین ما را می دهد.
در مثال ما ، باید یک app جدید ایجاد کنیم تا همه امور مربوط به نشان دادن آب و هوا را کنترل کنیم. برای ایجاد آن برنامه ، سرور مجازی را با CTRL + C متوقف و دستور زیر را اجرا کنید:
⦁ $ python manage.py startapp weather

با اجرای startapp ، Django دیرکتوری جدید و فایل های بیشتری را به پروژه ما اضافه کرده است.
با جدیدترین فایل های تولید شده ، بیایید فایل جدیدی به نام urls.py را در دیرکتوری برنامه ایجاد کنیم.
urls.py
from django.urls import path

urlpatterns = [
]

این فایل مشابه urls.py در دیرکتوری the_weather ماست. تفاوت در این است که این فایل urls.py شامل کلیه آدرس های اینترنتی مربوط به خود برنامه است.
ما هنوز URL را مشخص نکرده ایم ، اما می توانیم پروژه را تنظیم کنیم تا برنامه خود را بشناسیم و هر URL خاص به برنامه خود و فایل urls.py برنامه را مسیریابی کنیم.
ابتدا به لیست INSTALLED_APPS بروید و این برنامه را به لیست اضافه کنید.
the_weather/the_weather/settings.py

INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘weather’,
]

این به Django اجازه می دهد بداند که ما برای چه منظور می خواهیم از برنامه هواشناسی در پروژه خود استفاده کنیم. با انجام این کار ، Django می داند که کجا به دنبال جابه جایی و آدرس های اینترنتی باشد.
در مرحله بعدی ، باید urls.py اصلی را تغییر دهیم تا به فایل urls.py برنامه خود اشاره کنیم. برای انجام این کار ، یک خط تحت مسیر موجود برای داشبورد ادمین اضافه می کنیم. همچنین نیاز به وارد کردن include  داریم تا بتوانیم به فایل urls.py برنامه خود اشاره کنیم.
the_weather/the_weather/urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
path(‘admin/’, admin.site.urls),
path(”, include(‘weather.urls’)),
]

رشته خالی بدان معنی است که ما از نقطه انتهایی برای نقطه ورود به برنامه خود استفاده نمی کنیم. درعوض به برنامه اجازه خواهیم داد تا از نقاط انتهایی خاصی استفاده کند. می توانستیم چیزی شبیه به مسیری قرار دهیم (‘weather/’, …) ، این بدان معنی است که باید 127.0.0.1:8000/weather/ را تایپ کنیم تا هر چیز مرتبط با برنامه آب و هوایی خود را دریافت کنیم. اما از آنجا که پروژه ما ساده است ، آن را اینجا انجام نمی دهیم.
اضافه کردن قالب و نما
در حال حاضر برای اولین کاری که می خواهیم انجام دهیم، باید الگوی خود را به پروژه اضافه کنیم.
یکی از قالب ها در Django تنها یک فایل HTML است که امکان دستور اضافی را می دهد تا این الگو را پویا کند. می توانیم کارهایی مانند اضافه کردن متغیرها ، عبارات if و حلقه ها را علاوه بر موارد دیگر انجام دهیم.
یک فایل HTML داریم ، اما برای شروع ما کافی خواهد بود.
می خواهیم یک دایرکتوری الگو ایجاد کنیم تا این فایل را در آن قرار دهیم.

با ارسال request.POST می توانیم داده های فرم را تأیید کنیم.
اکنون باید بتوانید نام یک شهر را تایپ کنید ، روی add کلیک کنید ، و آن را ببینید. میامی را به عنوان شهر بعدی اضافه خواهم کرد.

وقتی از بلوک if خارج می شویم ، فرم بازآفرینی می شود تا در صورت انتخاب بتوانیم شهر دیگری اضافه کنیم. بقیه کد به همین روش رفتار خواهد کرد.
نتیجه
اکنون راهی برای پیگیری وضعیت هوا برای چندین شهر در برنامه خود داریم.
در این مقاله ، برای انجام این کار باید با بخش های مختلف Django کار کنیم: نماها ، مدل ها ، فرم ها و قالب ها. همچنین برای به دست آوردن داده های واقعی هوا ، مجبور شدیم از درخواست های کتابخانه پایتون استفاده کنیم. بنابراین حتی اگر برنامه ساده باشد ، بسیاری از مفاهیم مشترک در app ها را با پیچیدگی بیشتر استفاده خواهید کرد.

 

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

استفاده از nsh برای دستورات از راه دور اوبونتو 18 –  میزبانی وب سایت با Caddy اوبونتو 18

تنظیم سرور ذخیره سازی آبجکت با استفاده از Minio در اوبونتو 18  –  ضبط و اشتراک گذاری ترمینال با Terminalizer اوبونتو

تنظیم مسیریابی شرطی و پاسخگو با React Router v4  –  ایجاد یک URL کوتاه کننده با Django و GraphQL

یک برنامه ردیابی سلامت را با React ،GraphQL و Okta –  ساخت برنامه چت زمان حقیقی React و GraphQL

به روزرسانی فیلترهای مرتب سازی Angular (زاویه ای) –  با استفاده از React ، Superagent و API اینستاگرام

نحوه ساختن یک برنامه جهانی با Nuxt.js و Django –  دکمه دانلود با ریزتعاملات با CSS ، anime.js و segment.js

نحوه اضافه کردن عکسهای پیشرفته در Node و Express  –  با Vue ،GraphQL و Apollo Client یک وبلاگ ساخت

یک برنامه SSR با روتر Preact ، Unistore و Preact بسازید  –  ساخت برنامه های وب پیشرونده با Angular

اشکال زدایی JavaScript در تولید با نقشه های منبع  –  می توان با Koa برنامه “سلام جهانی” ساخت

ساختن یک برنامه با Node ، React ، Okta  –   مدیریت حالت فرم در React با Redux Form

نحوه تنظیم Laravel ، Nginx و MySQL  –  ارتقاء از AngularJS به Angular با ngUpgrade

استفاده از ویژوال استودیو از راه دور  –  احراز هویت API با JSON Web Tokens و Passport

راه اندازی یک پروژه React با Parcel  –  ایجاد Swiper مانند Netflix را در Vue

ساختن یک ربات تلگرام با Laravel و BotMan  –  استفاده از map، filter، و reduce در جاوااسکریپت

چگونه می توان موتور جستجوی زمان واقعی را با Vue  –  ساختن سیستم مستندات (Documentation) با Vue و VuePress

استفاده از اشتراک زنده با کد ویژوال استودیو  –  ساخت یک مقیاس اندازه گیری قدرت رمز عبور را در React

شروع عملی GraphQL با Node.js و Express  –  ساخت یک برنامه آب و هوا در Django

نحوه نصب Discourse روی Ubuntu 18  –  تأیید رمز عبور با استفاده از درخواست فرم Laravel

نحوه نصب MySQL در CentOS 8  –  استفاده از پسوند PDO PHP برای انجام تراکنش MySQL

نصب و پیکربندی SNMP Daemon و Client در Ubuntu 18  –  نصب Linux، Nginx، MariaDB،PHP در Debian 10

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان –