reading-notes


Project maintained by will-ing Hosted on GitHub Pages — Theme by mattgraham

Django setup

Steps


  1. poetry init -n
  2. poetry shell
  3. poetry add django
  4. django-admin startproject “project name”
  5. python manage.py startapp “app name”
  6. python mange.py migrate
  7. python manage.py runserver 3000
  8. python manage.py createsuperuser
  9. add config from apps.py to settings.py installed apps
  10. add base_dir and templates to dirs in settings.py
  11. Setup views.py
from django.shortcuts import render
from django.views.generic import TemplateView


class HomePageView(TemplateView):
    template_name = 'home.html'
  1. Setup urls.py
from django.urls import path
from .views import HomePageView
# from django.conf import settings
# from django.conf.urls.static import static

urlpatterns = [
    path('', HomePageView.as_view(), name='home'),
]
# + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
  1. add paths to project/urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls'))
]

  1. setup HTML templates
  2. Setup users in admin site
  3. Goto Admin.py and register your model
from django.contrib import admin
from .models import blog
# Register your models here.
admin.site.register(blog)
  1. setup your models how you want to setup
from django.db import models

class blog(models.Model):
    title = models.CharField(max_length=64)
    author = models.ForeignKey('auth.user', on_delete=models.CASCADE)
    body = models.TextField(max_length=64)

    def __str__(self):
        return self.title

  1. python manage.py makemigrations
  2. python manage.py migrate
  3. Run makemigrations and migrate everytime you change your models