Django Module 5 – Models
Module 5 – Models & Database
Create Model
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
def __str__(self):
return self.title
Migrations
python manage.py makemigrations
python manage.py migrate
Module 6 – Django Admin
from django.contrib import admin
from .models import Post
admin.site.register(Post)
python manage.py createsuperuser
Module 7 – Forms & CRUD
from django import forms
from .models import Post
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ['title', 'content']
from django.shortcuts import render, redirect
def create_post(request):
form = PostForm(request.POST or None)
if form.is_valid():
form.save()
return redirect('/')
return render(request, 'blog/form.html', {'form': form})
Module 8 – Authentication
from django.contrib.auth import views as auth_views
urlpatterns += [
path('login/', auth_views.LoginView.as_view()),
path('logout/', auth_views.LogoutView.as_view()),
]
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/login/'
Module 9 – Class Based Views
from django.views.generic import ListView
from .models import Post
class PostListView(ListView):
model = Post
paginate_by = 5
Module 10 – Deployment Basics
DEBUG = False
ALLOWED_HOSTS = ['yourdomain.com']
pip install gunicorn
python manage.py collectstatic