Basic Process For Setting Up A Django Home Page

TODO: Fix the formatting of this post that got busted during the move to nextjs

Code
Basic Setup for Foreign Key stuff


- Make the name of the project `config` in the same directory as the pyvenv.


        django-admin startproject config .
        python manage.py startapp pages
        python manage.py migrate


- In `config/settings.py`, Add;

        'pages'

    To:

        INSTALLED_APPS


- In `config/settings.py, under:

        TEMPLATES

    Change:

        'DIRS': [],

    To:

        TODO: think about moving this down.

        'DIRS': [str(BASE_DIR.joinpath('templates'))],


- In `config/urls.py` change:

        from django.urls import path

    To:

        from django.urls import includes, path


- In `config/urls.py` add this:

        path('', include('pages.urls')),

    To:

        urlpatterns

- Create file:

        pages/urls.py

    With:


-- code
-- python

  from django.urls import path

  from . import views

  app_name = 'pages'

  urlpatterns = [
      path('', views.homepage),
  ]

-- p


- Change `pages/views.py` to:


        from django.shortcuts import render

        def homepage(request):
            return render(
                request,
                'pages/homepage.html'
            )


- Make `pages/templates/pages/homepage.html`


      {% extends 'base.html' %}

      {% block content %}
      <h3>Welcome to the Music Site</h3>
      {% endblock content %}



- Make `templates/base.html` at the root of the project. With something like:

        <!DOCTYPE html>
        <html>
        <head>
        <title>Music site</title>
        </head>
        <body>
        <h1>Music Site</h1>
        {% block content %}{% endblock content %}
        </body>
        </html>


---

TODO: Add:

    STATICFILES_DIRS = [
        BASE_DIR / "static",
    ]