بینش تخصصی DJANGO 5، با مثال (پیش فروش)
حسین یعسوبی
شابک: 9-44-7785-622-978
• ساخت یک اپلیکیشن بلاگ و چت روم • ساخت یک وبسایت بوکمارک تصویر • ایجاد یک فروشگاه آنلاین کامل • ساخت یک پلتفرم یادگیری- الکترونیک
1404
840
زمان باقیمانده تا پایان پیش فروش
670,000 تومان
790,000 تومان

-
+
نوبت چاپ | one |
---|---|
ویرایش | one |
وزن | 2000 گرم |
جلد | 1 از 1 |
موجود است؟ | خیر |
---|---|
چاپ شده است؟ | خیر |
در حال پیش فروش است؟ | بلی |
کتاب الکترونیکی است؟ | خیر |
این کتاب، شما را روی کل فرایند توسعه حرفهای اپلیکیشنهای وب با جنگو، راهنمایی میکند. تمرکز کتاب روی توضیح نحوه کار فریمورک وب جنگو با ساخت چندین پروژه از ابتدای کار است. نه تنها مناسبترین جنبههای این فریمورک را توضیح میدهیم بلکه توضیح میدهیم چگونه آنرا در بسیاری از موقعیتهای گوناگون جهان واقعی، بهکار بندیم.
این کتاب نه تنها جنگو را میآموزد، بلکه سایر فنآوریهای مشهور همچون PostgreSQL، Redis، Celery، RabbitMQ، و Memcached را معرفی میکند. در خلال کتاب، شیوه تعامل با این فنآوریها را در پروژههای جنگوی خود میآموزیم تا عملکردهای پیشرفته را ایجاد کنیم و اپلیکیشنهای پیچیدهای را بسازیم.
این کتاب، با استفاده از یک روش گام به گام که دنبال کردنش آسان باشد به ایجاد برنامههای کاربردی جهان واقعی، حل مشکلات مرسوم، و پیادهسازی بهترین تمرینها میپردازد. پس از خواندنش، یک شناخت خوب از نحوه کار جنگو بهدست خواهید آورد و میتوانید اپلیکیشنهای وب پایتون تمام عیار را بسازید.
فصل 1؛ ساخت یک BLOG APPLICATION 25
نصب پایتون 26
ایجاد یک محیط مجازی پایتون 27
نصب جنگو 28
نصب جنگو با pip 29
بازبینی جنگو 29
کامپوننتهای اصلی فریمورک 30
معماری جنگو 30
فیچرهای جدید جنگو 5 32
ایجاد نخستین پروژه شما 33
انجام مهاجرتهای ابتدایی دیتابیس 35
اجرای سرور توسعه 37
تنظیمات پروژه 38
پروژهها و اپلیکیشنها 39
ایجاد یک اپلیکیشن 40
ایجاد مدلهای دادهای بلاگ 41
ایجاد مدل Post 41
افزودن فیلدهای datetime 43
تعیین یک ترتیب چیدمان پیشفرض 45
افزودن یک ایندکس دیتابیس 46
فعالسازی اپلیکیشن 47
افزودن یک فیلد status 48
افزودن یک رابطه چند-به-یک 50
ایجاد و اعمال مهاجرتها 52
ایجاد یک سایت ادمین برای مدلها 55
ایجاد یک سوپر یوزر 55
سایت ادمین جنگو 56
افزودن مدلها به سایت ادمین 56
سفارشیسازی نحوه نمایش مدلها 58
افزودن شمارشهای ظاهری برای فیلترها 60
کار با QuerySets و مدیران 60
ایجاد اشیاء 61
بهروزرسانی اشیاء 63
بازیابی اشیاء 63
فیلتربندی اشیاء 63
استفاده از لوکاپهای فیلد 64
زنجیرکردن فیلترها 66
مستثنی کردن اشیاء 66
چیدمان اشیاء 66
محدودسازی QuerySetها 67
شمارش اشیاء 67
بررسی موجود بودن یک شئ 68
حذف اشیاء 68
لوکاپهای پیچیده با اشیاء Q 68
زمان ارزیابی QuerySetها 69
درباره QuerySetها بیشتر بدانیم 69
ایجاد مدیران مدل 69
ساختن نماهای list و detail 71
ایجاد نماهای list و detail 71
استفاده از میانبر get_object_or_404 73
افزودن پترنهای URL برای نماهای خود 74
ایجاد الگوها برای نماها 76
ایجاد یک الگوی پایه 76
ایجاد الگوی لیست پست 77
دسترسی به اپلیکیشن 79
ایجاد الگوی جزئیات پست 79
چرخهی درخواست/پاسخ 80
مدیریت فرمانهای بهکار رفته در این فصل 81
خلاصه 82
منابع آموزشی اضافه 82
فصل 2؛ ارتقاء بلاگ و افزودن ابزارهای اجتماعی 85
بازبینی عملکردی 85
استفاده از URLهای کانونی برای مدلها 86
ایجاد URLهای سئو پسند برای پستها 89
اصلاح پترنهای URL 90
تغییر نماها 91
اصلاح URL کانونی برای پستها 92
افزودن صفحهبندی 93
افزودن صفحهبندی به نمای لیست پست 94
ایجاد یک الگوی صفحهبندی 95
رسیدگی به خطاهای صفحهبندی 97
ساخت نماهای کلاسمحور 100
دلیل استفاده از نماهای کلاسمحور 100
استفاده از نمای کلاسمحور برای پستهای لیست 100
پیشنهاد پستها با ایمیل 103
ایجاد فرمها با جنگو 104
رسیدگی به فرمها در نماها 105
ارسال ایمیلها با جنگو 107
کار با متغیرهای محیطی 108
ارسال ایمیل در نماها 112
رندر کردن فرمها در الگوها 115
ایجاد یک سیستم کامنت 118
ایجاد یک مدل برای کامنتها 118
افزودن کامنتها به سایت ادمین 120
ایجاد فرمها از مدلها 121
رسیدگی به ModelForms در نماها 122
ایجاد الگوها برای فرم کامنت 125
افزودن کامنتها به نمای جزئیات پست 126
افزودن کامنتها به الگوی جزئیات پست 128
استفاده از الگوهای سادهشده برای رندرکردن فرم 134
خلاصه 136
فصل 3؛ گسترش اپلیکیشن بلاگ 137
بازبینی عملکردی 137
پیادهسازی تگکردن به وسیله django-taggit 139
بازیابی پستهای شبیه هم 148
ایجاد تگها و فیلترهای الگوی سفارشی 153
پیادهسازی تگهای الگوی سفارشی 154
ایجاد یک تگ الگوی ساده 154
ایجاد یک تگ الگوی گنجایشی (inclusion) 156
ایجاد یک تگ الگو که یک کوئریست برمیگرداند 158
پیادهسازی فیلترهای الگوی سفارشی 160
ایجاد یک فیلتر الگو برای پشتیبانی از سینتکس Markdown 161
افزودن یک نقشهسایت به سایت 166
ایجاد feed برای پستهای بلاگ 170
افزودن جستوجوی فول-متن به بلاگ 176
نصب Docker 177
نصب PostgreSQL 178
تخلیه دادههای موجود 179
سوئیچ روی دیتابیس درون پروژه 180
لود شدن دادهها در دیتابیس جدید 182
لوکاپهای جستوجوی ساده 183
جستوجو نسبت به چند فیلد 184
ساخت یک نمای جستوجو 184
ریشهیابی و رتبهبندی نتایج 188
ریشهیابی و حذف واژههای توقف در زبانهای مختلف 190
کوئریهای وزندهی 191
جستوجو با همسانی سه ضلعی 192
خلاصه 195
بسط پروژه با هوش مصنوعی 195
فصل 4؛ ساخت یک وبسایت اجتماعی 197
بازبینی عملکردی 197
ایجاد یک پروژه وبسایت اجتماعی 199
آغاز پروژه وبسایت اجتماعی 199
استفاده از فریمورک احراز هویت جنگو 201
ایجاد یک نمای لاگین 201
استفاده از نماهای پیشساخته احراز هویت جنگو 208
نماهای login و logout 209
نماهای Change password 216
نماهای Reset password 218
ثبتنام کاربر و پروفایلهای کاربری 227
رجیسترسازی کاربر 227
توسعه مدل کاربر 235
نصب Pillow و خدمتدهی فایلهای رسانهای 236
ایجاد مهاجرتها برای مدل پروفایل 237
استفاده از یک مدل کاربری سفارشی 244
خلاصه 244
سایر منابع 244
فصل 5؛ پیادهسازی احراز هویت اجتماعی 247
بازبینی کلی 247
ملزومات فنی 248
استفاده از فریمورک پیامها 248
ساخت یک بکاند سفارشی احراز هویت 252
جلوگیری کاربران از بهکاربردن یک نشانی ایمیل موجود 255
افزودن احراز هویت اجتماعی به سایت 257
اجرای سرور توسعه از طریق HTTPS 260
احراز هویت با استفاده از Google 263
پروفایلسازی برای کاربرانی که با احرازهویتاجتماعی ثبتنام میکنند 268
خلاصه 271
فصل 6؛ اشتراکگذاری محتوا روی وبسایت خود 273
بازبینی عملکردی 273
ایجاد یک وبسایت بوکمارکگیری تصویر 275
ساخت مدل image 275
ایجاد روابط چند-به-چند 277
ثبت مدل تصویر در سایت ادمین 279
پست کردن محتوا از سایتهای دیگر 279
پاک کردن فیلدهای فرم 280
نصب کتابخانه Requests 281
بازنویسی متد save() از یک ModelForm 282
ساخت یک بوکمارکلت بهوسیله JavaScript 287
ایجاد یک نمای جزئیات برای تصاویر 300
ایجاد تصویرکها با استفاده از easy-thumbnails 303
افزودن اکشنهای ناهمگام با جاوااسکریپت 306
لود کردن JavaScript روی DOM 308
جعل درخواست cross-site برای درخواستهای HTTP در جاوااسکریپت 309
انجام درخواستهای HTTP با JavaScript 311
افزودن صفحهبندی اسکرول نامحدود به فهرست تصاویر 318
خلاصه 325
فصل 7؛ پیگیری اعمال کاربر 327
بازبینی عملکردی 327
ساخت یک سیستم دنبالکردن یا follow 329
ایجاد روابط چند-به-چند با یک مدل واسط 329
ایجاد نماهای لیست و جزئیات برای پروفایلهای کاربر 333
افزودن اکشنهای user follow/unfollow با جاوااسکریپت 339
ایجاد یک اپلیکیشن activity stream 342
استفاده از فریمورک contenttypes 344
افزودن روابط عمومی به مدلهای خود 345
پرهیز از اکشنهای تکراری در جریان فعالیت 349
افزودن اکشنهای کاربر به جریان فعالیت 351
نمایش جریان فعالیت 355
بهینهسازی کوئریستهایی که اشیاء وابسته را درگیر میکنند 356
ایجاد الگوها برای اکشنها 358
استفاده از سیگنالها برای غیرنرمال کردن حسابها 360
کار با سیگنالها 360
کلاسهای پیکربندی اپلیکیشن 363
استفاده از Django Debug Toolbar 366
نصب Django Debug Toolbar 366
پنلهای Django Debug Toolbar 369
فرمانهای Django Debug Toolbar 371
شمارش نماهای تصویر با Redis 372
نصب Redis 373
استفاده از Redis با پایتون 375
ذخیره نماهای تصویر در Redis 376
ذخیرهسازی یک رتبهبندی در Ridis 378
گامهای بعدی با Redis 382
خلاصه 382
بسط پروژه با استفاده از AI 383
فصل 8؛ ساخت یک فروشگاه آنلاین 385
بازبینی عملکردی 385
ایجاد یک پروژه فروشگاهی آنلاین 387
ایجاد مدلهای کاتالوگ محصول 388
ثبت مدلهای کاتالوگ در سایت ادمین 392
ساختن نماهای کاتالوگ 394
ایجاد الگوهای کاتالوگ 397
ساخت یک سبد خرید 403
استفاده از نشستهای جنگو 403
تنظیمات نشست 404
انقضای نشست 405
ذخیره سبد خرید در نشستها 406
ایجاد نماهای سبد فروشگاهی 411
ایجاد یک پردازشگر محتوا برای سبد جاری 419
رجیستر کردن سفارش مشتریان 423
ایجاد مدلهای سفارش 423
درج مدلهای سفارش در سایت ادمین 425
ایجاد سفارشهای مشتری 427
ایجاد کارهای ناهمگام 433
کار با وظایف ناهمگام 433
واحدهای کاری، صف پیامها، و کارگزاران پیام 433
افزودن وظایف ناهمگام به اپلیکیشن 440
مانیتور کردن Celery با Flower 442
خلاصه 445
فصل 9؛ مدیریت پرداختها و سفارشها 447
بازبینی عملکردی 447
ادغام یک گیتوی پرداخت 449
ایجاد یک حساب Stripe 450
نصب کتابخانه Stripe Python 452
افزودن Stripe به پروژه 452
ساخت فرایند پرداخت 454
آزمایش فرایند چک اوت 465
استفاده از webhooks برای دریافت اعلانهای پرداخت 471
ارجاع به پرداختهای استرایپ در سفارشها 479
پخش زنده 483
ارسال سفارش ها به فایلهای CSV 484
افزودن اکشنهای سفارشی به سایت ادمین 484
گسترش سایت ادمین با نماهای سفارشی 487
تولید فاکتورهای PDF بهشکل پویا 493
نصب WeasyPrint 494
ایجاد یک الگوی PDF 494
رندر کردن فایلهای PDF 495
ارسال فایلهای PDF با ایمیل 499
خلاصه 503
منابع بیشتر 503
فصل 10؛ توسعه فروشگاه 505
بازبینی عملکردی 505
ایجاد یک سیستم کوپن 507
ساخت مدل coupon 507
اعمال یک کوپن به سبد خرید 510
اعمال کوپنها به سفارشها 518
ایجاد کوپنها برای Stripe Checkout 523
افزودن کوپنها با سفارشها در سایت ادمین و به فاکتورهای PDF 525
ساخت یک موتور توصیه 529
توصیه محصولات براساس خریدهای پیشین 529
خلاصه 542
منابع اضافی 542
فصل 11؛ افزودن بینالمللیسازی به فروشگاه 543
بازبینی عملکردی 543
بینالمللیسازی با جنگو 545
تنظیمات بینالمللیسازی و بومیسازی 545
فرمانهای مدیریت بینالمللیسازی 546
نصب تولکیت gettext 547
چگونه ترجمهها را به یک پروژه جنگو بیافزاییم 547
جنگو چگونه زبان جاری را تعیین میکند 548
آمادهسازی پروژه برای بینالمللیسازی 548
ترجمه کد پایتون 550
ترجمههای استاندارد (Standard translations) 550
Lazy translations 551
ترجمههای شامل متغیرها 551
اشکال صیغه جمع در ترجمهها 552
ترجمه کد شخصی خود 552
ترجمه الگوها 557
تگ الگوی {% translate %} 557
تگ الگوی {% blocktranslate %} 557
ترجمه الگوهای فروشگاه 558
استفاده از اینترفیس ترجمه Rosetta 562
ترجمههای Fuzzy 565
پترنهای URL برای بینالمللیسازی 566
افزودن یک پیشوند زبانی به پترنهای URL 566
ترجمه پترنهای URL 567
اجازه به کاربران برای تغییر زبان 572
ترجمه مدلها با django-parler 573
نصب django-parler 574
ترجمه فیلدهای مدل 574
ادغام ترجمهها در سایت ادمین 577
ایجاد مهاجرتها برای ترجمههای مدل 578
استفاده از ترجمهها در QuerySets 581
تطبیق دادن نماها با ترجمهها 582
فرمتبندی بومیسازی 584
استفاده از django-localflower برای اعتبارسنجی فیلدهای فرم 586
توسعه پروژه با استفاده از AI 588
خلاصه 588
منابع اضافی 589
فصل 12؛ ساخت یک پلتفرم E-LEARNING 591
بازبینی عملکردی 591
تنظیم پروژه e-learning 592
خدمترسانی به فایلهای رسانه 593
ساخت مدلهای دوره 594
رجیستر کردن مدلها در سایت ادمین 597
استفاده از فیکسچرها برای تهیه دادههای اولیه برای مدلها 598
ایجاد مدلها برای محتوای چندریختی 601
استفاده از ارثبری مدل 603
ایجاد مدلهای Content 607
ایجاد فیلدهای سفارشی مدل 610
افزودن ترتیبدهی به اشیاء Content و Module 612
افزودن نماهای احراز هویت 617
افزودن یک سیستم احراز هویت 617
ایجاد الگوهای احراز هویت 618
خلاصه 621
منابع اضافی 622
فصل 13؛ ایجاد یک سیستم مدیریت محتوا 623
بازبینی عملکردی 623
ایجاد یک CMS 625
ایجاد نماهای کلاسمحور 625
استفاده از mixins برای نماهای کلاسمحور 626
کار با گروهها و مجوزها 629
مدیریت ماژولهای دوره و محتویات آنها 637
استفاده از فرمستها برای ماژولهای دوره 637
افزودن محتوا به ماژولهای دوره 642
مدیریت ماژولها و محتویات آنها 648
چیدمان دوباره ماژولها و محتویات آنها 653
استفاده از mixins از Django-braces 654
خلاصه 662
منابع اضافی 662
فصل 14؛ رندر و کش کردن محتوا 663
بازبینی عملکردی 664
نمایش کاتالوگ دورهها 665
افزودن ثبتنام دانشجو 670
ایجاد یک نمای ثبتنام دانشجو 671
نامنویسی در دورهها 673
رندر کردن محتوای دورهها 677
دسترسی به محتوای دورهها 678
رندر کردن انواع مختلفی از محتوا 682
استفاده از فریمورک کش 684
بکاندهای کش موجود 685
نصب Memcached 686
نصب Memcached Docher image 686
نصب Memcached Python binding 687
تنظیمات Cache جنگو 687
افزودن Memcached به پروژه 688
سطوح کش کردن 688
استفاده از API کش سطح پایین 689
بررسی درخواستهای کش با Django Debug Toolbar 690
کش کردن پایه سطح پایین روی دادههای پویا 694
کش کردن قطعات الگو 695
کش کردن نماها 696
استفاده از کش per-site 697
استفاده از بکاندهای کش Redis 699
مانیتورینگ Redis با Django Redisboard 700
خلاصه 701
منابع اضافی 702
فصل 15؛ ساخت یک API 703
بازبینی عملکردی 704
ساختن یک RESTful API 705
نصب فریمورک Django REST 706
تعریف serializerها 707
شناخت پارسرها و رندرکنندهها 708
ساخت نماهای لیست و جزئیات 710
مصرف API 711
بسط سریالایزرها 714
افزودن فیلدهای اضافی به سریالایزرها 714
پیادهسازی فیلدهای متد سریالایزر 716
افزودن صفحهبندی به نماها 717
ساختن سریالایزر دوره 720
سریالایز کردن وابستهها 721
ایجاد سریالایزرهای تودرتو 722
ایجاد ViewSets و روترها 723
ساخت نماهای API سفارشی 727
رسیدگی به احراز هویت 728
پیادهسازی احراز هویت پایه 729
افزودن مجوزها به نماها 730
افزودن اکشنهای اضافی به ViewSetها 732
ایجاد مجوزهای سفارشی 733
سریالایز کردن محتوای دوره 734
مصرف RESTful API 737
خلاصه 741
منابع اضافی 741
فصل 16؛ ایجاد یک CHAT SERVER 743
بازبینی عملکردی 743
ایجاد یک اپلیکیشن chat 744
پیادهسازی نمای چتروم 745
زمان-واقعی جنگو با Channels 748
اپلیکیشنهای ناهمگام با استفاده از ASCI 749
چرخه درخواست/پاسخ با استفاده از Channels 750
نصب Channels و Daphne 752
نوشتن یک مصرفکننده 754
مسیریابی 756
پیادهسازی کلاینت WebSocket 758
فعالسازی یک لایه کانال 765
کانالها و گروهها 765
تنظیم یک لایه کانال با Redis 766
بهروزرسانی مصرفکننده برای انتشار پیامها 767
افزودن محتوا به پیامها 772
تغییر مصرفکننده به ناهمگام بودن کامل 776
ماندگاری پیامها در دیتابیس 778
ایجاد یک مدل برای پیامهای چت 778
افزودن مدل پیام به سایت ادمین 780
ذخیره پیامها در دیتابیس 781
نمایش سابقه چت 783
ادغام اپلیکیشن چت با نماهای موجود 786
خلاصه 787
منابع اضافی 787
فصل 17؛ پخش زنده 789
ایجاد یک محیط تولید 790
مدیریت تنظیمات چند محیط 790
استفاده از Docker Compose 794
نصب Docker Compose از طریق Docker Desktop 794
ایجاد یک Dockerfile 795
افزودن الزامات پایتون 796
ایجاد یک فایل Docker Compose 797
پیکربندی سرویس PostgreSQL 801
اعمال مهاجرتهای دیتابیس و ایجاد یک سوپر یوزر 804
پیکربندی سرویس Redis 805
خدمترسانی جنگو از طریق WSGI و NGINX 807
استفاده از uWSGI 807
پیکربندی uWSGI 808
استفاده از NGINX 810
پیکربندی NGINX 811
استفاده از یک hostname 813
سرویسدهی داراییهای ایستا و رسانه 814
سرویسدهی سایت با SSL/TLS 817
بررسی پروژه برای تولید 817
پیکربندی پروژه جنگو برای SSL/TLS 819
ایجاد گواهینامه SSL/TLS 820
پیکربندی NGINX برای استفاده SSL/TLS 821
هدایت ترافیک HTTP روی HTTPS 823
پیکربندی Daphne برای Django Channels 824
استفاده از اتصالات امن برای WebSockets 826
درج Daphne در پیکربندی NGINX 826
ایجاد یک میانافزار سفارشی 829
ایجاد میانافزار زیردامین 832
پیادهسازی فرمانهای مدیریتی سفارشی 835
خلاصه 838
بسط پروژه با استفاده از هوش مصنوعی 838
منابع بیشتر 839
# | موضوع | عنوان | توضیح | دانلود |
---|---|---|---|---|
1 | نمونه pdf | صفحات آغازین | دانلود |