Book Image

Django 4 for the Impatient

By : Greg Lim, Daniel Correa
Book Image

Django 4 for the Impatient

By: Greg Lim, Daniel Correa

Overview of this book

Learning Django can be a tricky and time-consuming activity. There are hundreds of tutorials, loads of documentation, and many explanations that are hard to digest. However, this book enables you to use and learn Django in just a couple of days. In this book, you’ll go on a fun, hands-on, and pragmatic journey to learn Django full stack development. You'll start building your first Django app within minutes. You'll be provided with short explanations and a practical approach that cover some of the most important Django features, such as Django Apps’ structure, URLs, views, templates, models, CSS inclusion, image storage, authentication and authorization, Django admin panel, and many more. You'll also use Django to develop a movies review app and deploy it to the internet. By the end of this book, you'll be able to build and deploy your own Django web applications.
Table of Contents (14 chapters)

Letting users post movie reviews

We will now implement letting logged-in users post reviews for movies. We have to first create a Review model:

  1. In movie/models.py, add the following to define a Review model:
    from django.db import models
    from django.contrib.auth.models import User
    …
        
    class Review(models.Model):
        text = models.CharField(max_length=100)
        date = models.DateTimeField(auto_now_add=True)
        user = 
          models.ForeignKey(User,on_delete=models.CASCADE)
        movie = models.ForeignKey(
          Movie,on_delete=models.CASCADE)
        watchAgain = models.BooleanField()
        def __str__(self):
            return self.text

The text field stores the review text:

    text = models.CharField(max_length...