Django for Professionals: Production Websites with Python & Django

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Author(s): William S. Vincent
Edition: 1st
Year: 2019

Language: English
Pages: 373

Table of Contents......Page 4
Introduction......Page 12
Prerequisites......Page 13
Book Structure......Page 14
Book Layout......Page 15
Text Editor......Page 16
Conclusion......Page 17
Chapter 1: Docker......Page 18
What is Docker?......Page 19
Containers vs. Virtual Environments......Page 20
Install Docker......Page 21
Docker Hello, World......Page 22
Django Hello, World......Page 24
Pages App......Page 27
Images, Containers, and the Docker Host......Page 32
Conclusion......Page 38
Chapter 2: PostgreSQL......Page 40
Starting......Page 41
Docker......Page 42
Detached Mode......Page 44
PostgreSQL......Page 47
Settings......Page 50
Psycopg......Page 52
New Database......Page 54
Git......Page 57
Conclusion......Page 58
Chapter 3: Bookstore Project......Page 59
Docker......Page 61
PostgreSQL......Page 64
Custom User Model......Page 65
Custom User Forms......Page 69
Custom User Admin......Page 71
Superuser......Page 72
Unit Tests......Page 74
Git......Page 77
Conclusion......Page 78
Chapter 4: Pages App......Page 79
Templates......Page 80
URLs and Views......Page 83
Tests......Page 85
Testing Templates......Page 88
Testing HTML......Page 89
setUp Method......Page 91
Resolve......Page 93
Git......Page 95
Conclusion......Page 96
Auth App......Page 97
Auth URLs and Views......Page 99
Homepage......Page 100
Django Source Code......Page 102
Log In......Page 106
Redirects......Page 108
Log Out......Page 110
Sign Up......Page 112
Tests......Page 118
setUpTestData()......Page 121
Conclusion......Page 122
STATIC_URL......Page 123
STATIC_ROOT......Page 124
STATICFILES_FINDERS......Page 125
Static Directory......Page 126
Images......Page 128
JavaScript......Page 130
collectstatic......Page 133
Bootstrap......Page 134
About Page......Page 137
Django Crispy Forms......Page 140
Tests......Page 145
Conclusion......Page 147
Chapter 7: Advanced User Registration......Page 148
django-allauth......Page 149
AUTHENTICATION_BACKENDS......Page 150
EMAIL_BACKEND......Page 152
ACCOUNT_LOGOUT_REDIRECT......Page 153
Templates......Page 155
Log In......Page 158
Log Out......Page 160
Sign Up......Page 162
Admin......Page 166
Email Only Login......Page 169
Tests......Page 173
Git......Page 176
Conclusion......Page 177
Chapter 8: Environment Variables......Page 178
SECRET_KEY......Page 179
DEBUG......Page 182
Git......Page 184
Conclusion......Page 185
Custom Confirmation Emails......Page 186
Email Confirmation Page......Page 193
Password Reset and Password Change......Page 195
Email Service......Page 196
Git......Page 197
Conclusion......Page 198
Chapter 10: Books App......Page 199
Models......Page 200
Admin......Page 202
URLs......Page 206
Views......Page 207
Templates......Page 208
object_list......Page 210
Individual Book Page......Page 212
context_object_name......Page 216
get_absolute_url......Page 217
Primary Keys vs. IDs......Page 219
Slugs vs. UUIDs......Page 220
Navbar......Page 224
Tests......Page 225
Conclusion......Page 227
Foreign Keys......Page 229
Reviews model......Page 230
Admin......Page 233
Templates......Page 238
Tests......Page 240
Conclusion......Page 243
Media Files......Page 245
Models......Page 247
Admin......Page 250
Template......Page 252
Git......Page 256
Conclusion......Page 257
Logged-In Users Only......Page 258
Permissions......Page 260
Custom Permissions......Page 262
User Permissions......Page 264
PermissionRequiredMixin......Page 266
Tests......Page 269
Conclusion......Page 273
Chapter 14: Orders with Stripe......Page 274
Orders app......Page 275
Stripe......Page 280
Publishable & Secret Keys......Page 284
Stripe Checkout......Page 286
Charges......Page 291
Stripe + Permissions......Page 296
Templates......Page 298
Tests......Page 300
Conclusion......Page 301
Search Results Page......Page 302
Basic Filtering......Page 305
Q Objects......Page 307
Forms......Page 308
Search Form......Page 309
Git......Page 312
Conclusion......Page 313
Chapter 16: Performance......Page 314
django-debug-toolbar......Page 315
Analyzing Pages......Page 319
select_related and prefetch_related......Page 320
Caching......Page 321
Indexes......Page 324
Front-end Assets......Page 326
Git......Page 327
Conclusion......Page 328
Social Engineering......Page 329
Django updates......Page 330
Local vs. Production......Page 331
ALLOWED HOSTS......Page 334
SQL injection......Page 336
XSS (Cross Site Scripting)......Page 337
Cross-Site Request Forgery (CSRF)......Page 338
Clickjacking Protection......Page 340
HTTPS/SSL......Page 341
HTTP Strict Transport Security (HSTS)......Page 342
Secure Cookies......Page 343
Admin Hardening......Page 344
Conclusion......Page 346
PaaS vs IaaS......Page 348
WhiteNoise......Page 349
Gunicorn......Page 352
dj-database-url......Page 353
Heroku......Page 354
Deploying with Docker......Page 355
heroku.yml......Page 356
Heroku Deployment......Page 358
SECURE_PROXY_SSL_HEADER......Page 365
Heroku Logs......Page 366
Stripe Live Payments......Page 367
Heroku Add-ons......Page 368
PonyCheckup......Page 369
Conclusion......Page 370
Conclusion......Page 372