جنگو یک چارچوب وب منبع باز قدرتمند مبتنی بر پایتون است که فرآیند ایجاد و مدیریت وب سایت ها و برنامه های کاربردی وب را ساده می کند. برنامه های جنگو مقیاس پذیر، با کارایی بالا و ایمن هستند. همچنین با اسناد بسیار خوبی برای هر بخش از چارچوب ارائه می شود.
در سری جنگو، جنگو را با پیاده سازی یک وب سایت نمونه با ویژگی های اولیه وبلاگ نویسی بررسی کردیم. در این راهنما، مراحل ایجاد یک نمای نمونه برای برنامه جنگو را طی می کنیم.
پیش نیازها
برای پیروی از این راهنما، به اجزای زیر نیاز دارید.
این راهنما ادامه سری جنگو ما است. ابتدا، مرور راهنماهای قبلی در مورد راه اندازی جنگو، ایجاد اتصال به پایگاه داده جنگو، ایجاد مدل ها و فعال کردن رابط مدیریت جنگو مفید خواهد بود.
در این راهنما، نحوه ایجاد نماهای جنگو را نشان خواهیم داد که به برنامه وب اجازه می دهد تا درخواست های وب را به درستی مدیریت کند و پاسخ صحیح را بازگرداند. همانطور که در مستندات رسمی جنگو توضیح داده شده است، یک پاسخ وب می تواند محتوای HTML یک صفحه وب، تغییر مسیر یا یک خطای HTTP باشد. هیچ مکان ثابتی برای ذخیره توابع view تا زمانی که در مسیرهای پایتون هستند وجود ندارد. با این حال، قراردادهای نامگذاری و قرار دادن فایل های محبوب وجود دارد. این راهنما از این قراردادها پیروی خواهد کرد.
مرحله 1. فعال سازی محیط مجازی
جنگو بهتر است در محیط مجازی پایتون اجرا شود. برنامه جنگو ما
نمونه_برنامه در یک محیط مجازی خاص مستقر می شود. ابتدا محیط مجازی را فعال کنید:
سی دی نمونه_برنامه/ . sample_app_env/bin/activate
سی دی نمونه_برنامه/ . sample_app_env/صندوقچه/فعال کردن |
مرحله 2. توابع مشاهده را ایجاد کنید
به ما بروید
برنامه_تصادفی دایرکتوری که میزبان مدل های وب سایت وبلاگ ما است:
فایل اینجاست
دیدگاه ها.py حاوی کدهای مورد نیاز برای ایجاد نماهای ما خواهد بود. آن را در یک ویرایشگر متن باز کنید:
نیاز داریم
تصور کن() عملکرد
جانگو.میانبرها کتابخانه بنابراین خط اول ثابت می ماند. این
تصور کن() تابع به ترکیب الگو و زمینه کمک می کند تا به عنوان صحیح برگردانده شود
HttpResponse هدف – شی.
نمای اول از کاربرانی که در صفحه فهرست فرود می آیند استقبال می کند. ما باید تابع را وارد کنیم
HttpResponse() از کتابخانه جنگو
http:
from django.shortcuts import render from django.http import HttpResponse def index(درخواست): return HttpResponse(شما در صفحه اصلی فرود آمده اید’) def individual_post(درخواست): return HttpResponse(‘پست های فردی اینجا ظاهر می شوند’)
از جانب جانگو.میانبرها وارد كردن تصور کن از جانب جانگو.http وارد كردن HttpResponse دف فهرست مطالب(درخواست): برگشت HttpResponse(شما فرود آمد بر بر خوش آمدی صفحه‘) def individual_post(درخواست): بازگشت HttpResponse(‘شخصی انتشارات اراده به نظر می رسد اینجا‘) |
فایل را ذخیره کنید و ویرایشگر را ببندید.
مرحله 3. نشانیهای اینترنتی را به نماها نشان دهید
در حال حاضر هیچ URL برای این ویژگی ها تعریف نشده است، بنابراین در دسترس نیستند. باید یک بلوک دیگر اضافه کنیم
الگوهای URL در فایل پیکربندی URL در پایتون به این می گویند
urlconf فایل (پیکربندی URL).
جنگو باید ریشه را تعیین کند
urlconf ماژول برای استفاده پس از آن نگاهی خواهد انداخت
الگوهای URL که شامل تمام الگوهای URL در یک ساختار لیست است. سپس جنگو از طریق فایل حلقه می زند تا اولین مورد را پیدا کند. هنگامی که جنگو موردی را پیدا کرد، نمای مرتبط خود را جستجو می کند. این تابع view داده های مربوط به الگوی URL و an را دریافت می کند
HttpRequest هدف – شی. یک خطا در هر نقطه از این فرآیند، آن را به نمای رسیدگی به خطا هدایت می کند.
فایل را باز کنید
آدرس های URL.py بر
برنامه_تصادفی در یک ویرایشگر متن:
کد زیر را وارد کنید:
از مسیر واردات django.urls از. واردات نماهای urlpattern = [
path(”, views.index, name=”index”),
path(‘post/’, views.individual_post, name=”individual_post”)
]
از جانب جانگو.آدرس های URL وارد كردن مسیر از جانب . وارد كردن دیدگاه ها الگوهای URL = [ path(”, views.index, name=‘index’), path(‘post/’, views.individual_post, name=‘individual_post’) ] |
فایل را ذخیره کنید و ویرایشگر را ببندید.
پس از اتمام کار، باید مسیر فایل URL را نیز در زیر قرار دهیم
نمونه_برنامه فهرست راهنما
urlconf. در غیر این صورت، برنامه جنگو ما آن را تشخیص نخواهد داد. به این دلیل است که
urlconf بر
نمونه_برنامه به عنوان تنظیم شده است
ROOT_URLCONF در فایل تنظیمات
به فهرست برنامه ما بروید
نمونه_برنامه:
سی دی sample_app/sample_app/sample_app/
سی دی نمونه_برنامه/نمونه_برنامه/نمونه_برنامه/ |
فایل را باز کنید
آدرس های URL.py در یک ویرایشگر متن:
کد زیر را در فایل وارد کنید:
از django.contrib import import from django.urls import include, path urlpatterns = [
path(‘admin/’, admin.site.urls),
path(”, include(‘random_app.urls’))
]
از جانب جانگو.مشارکت وارد كردن مدیر از جانب جانگو.آدرس های URL وارد كردن عبارتند از، مسیر الگوهای URL = [ path(‘admin/’, admin.site.urls), path(”, include(‘random_app.urls’)) ] |
بیایید تغییرات خود را آزمایش کنیم. سرور برنامه جنگو را راه اندازی کنید
میزبان محلی:8000:
python manager.py runserver localhost:8000
پایتون من مدیریت می کنم.py سرور اجرا میزبان محلی:8000 |
به آدرس اینترنتی بروید:
آدرس پست را بررسی کنید:
مرحله 4. یک پست وبلاگ ایجاد کنید
ما مدل های URL خود را ایجاد کردیم و گردش کار آنها را مطالعه کردیم. وقت آن است که یک وبلاگ نمونه اضافه کنید و نتیجه را ببینید.
از پنل مدیریت به
برنامه_تصادفی صفحه:
localhost:8000/admin/random_app/
میزبان محلی:8000/مدیر/برنامه_تصادفی/ |
را کلیک کنید
+اضافه کردن پیوند از
انتشارات ردیف:
صفحه وب جدید فرمی متشکل از فیلدهای زیر را ارائه می دهد.
- عنوان: عنوان پست وبلاگ.
- حلزون: به بخشی از یک آدرس اینترنتی معتبر با کلمات کلیدی قابل خواندن توسط انسان اشاره دارد. معمولا اسلاگ ها بعد از عنوان پست ایجاد می شوند.
- محتوا: بدنه پست وبلاگ.
- نویسنده: نام کاربری مربوطه
کلیک
صرفه جویی برای ارسال پست:
مرحله 5. نمایش داده ها در پایگاه داده
در این بخش بعدی با پایگاه داده خود کار خواهیم کرد. به عنوان کاربر اختصاصی جنگو به MySQL وارد شوید:
mysql -u sample_app_user -p
mysql –تو نمونه_برنامه_کاربر –پ |
بیایید بررسی کنیم که آیا پست ما با موفقیت در پایگاه داده ثبت شده است:
SELECT * FROM random_app_post.
انتخاب کنید * از جانب random_app_post; |
اینجا! پست با موفقیت ثبت شد! اکنون می توانید از پوسته MySQL خارج شوید.
مرحله 6. تنظیمات نمای اضافی
چند کار دیگر وجود دارد که می توانیم با دیدگاه هایمان انجام دهیم. فایل را در یک ویرایشگر متن باز کنید:
کد باید به شکل زیر باشد:
from django.shortcuts import render from django.http import HttpResponse from .models import Post def index(درخواست): return HttpResponse(‘سلام، به صفحه فهرست خوش آمدید.’) def individual_post(درخواست): last_post = Post.objects.get (id__exact=1) بازگشت HttpResponse(recent_post.title + ‘: ‘ + recent_post.content)
از جانب جانگو.میانبرها وارد كردن تصور کن از جانب جانگو.http وارد كردن HttpResponse از جانب .مدل ها وارد كردن انتشار دف فهرست مطالب(درخواست): برگشت HttpResponse(“سلام، به صفحه فهرست خوش آمدید.”) دف individual_post(درخواست): پست اخیر = انتشار.اشیاء.دریافت می کنم(id__exact=1) برگشت HttpResponse(پست اخیر.عنوان + ‘:’ + پست اخیر.محتوا) |
در اینجا یک مورد اضافی اضافه کردیم
وارد كردن بیانیه برای
انتشار. رشته نقل شده از
HttpResponse همچنین با داده های پست وبلاگ ما جایگزین شده است. برای مشخص کردن داده ها، از شناسه پست وبلاگ با شی مرتبط استفاده می کنیم. شناسه در یک متغیر ذخیره می شود
پست اخیر. اکنون میتوانیم فیلدهای خاصی از شی را با افزودن فیلد مشخص شده از نقطه استخراج کنیم.
پس از تغییر، اجازه دهید تغییرات را بررسی کنیم. سرور جنگو را راه اندازی کنید:
python manager.py runserver localhost:8000
پایتون من مدیریت می کنم.py سرور اجرا میزبان محلی:8000 |
اکنون، دسترسی به
انتشارات صفحه:
باید پست وبلاگی را که ایجاد کرده ایم نشان دهد.
مرحله 7. از پروژه خارج شوید
برای خروج از سرور جنگو، را فشار دهید Ctrl + C از ترمینال برای غیرفعال کردن محیط مجازی پایتون، دستور زیر را اجرا کنید:
افکار نهایی
در این راهنما، ما با موفقیت ایجاد نماها، نگاشت الگوهای URL و نمایش متون در یک صفحه وب از پایگاه داده
برنامه_تصادفی که در جانگو.اینها مفاهیم اساسی جنگو هستند که درک و تسلط بر آنها ضروری است.
در اینجا منابع اضافی برای کمک به شما در ساخت و مدیریت برنامه های جنگو وجود دارد:
کار کامپیوتر مبارک!
درباره Pranay Kapgate
مهندس نرم افزار | علاقه مندان به نرم افزارهای متن باز