PROGRAMMING A PROJECT Go to directory where you want the project to reside, say ~/prog/django Name the project, say "mysite" run: cd mysite install virtual environment in that directory, using: python3 -m venv .env source .env/bin/activate.csh python3 -m pip install django or python3 -m pip install django=3.2.5 (or whatever) in mysite: django-admin startproject mysite_project . mkdir static, static/css mkdir templates/ [templates/registration] decide what functions you want mysite to perform decide what apps you need to perform these functions For each app: Decide on app name, say "myapp" do python3 manage.py startapp myapp in myapp_project: edit settings.py: add myapp to INSTALLED_APPS change TIME_ZONE to 'America/Los Angeles' add possibly at end: LOGIN_REDIRECT_URL = 'home' LOGOUT_REDIRECT_URL = 'home' ??: STATICFILES_DIRS = [path.join(BASE_DIR, 'static')] edit urls.py: add include to import urlpatterns = [ path('admin/', admin.site.urls), path('accounts/', include('django.contrib.auth.urls')), path('', include('myapp.urls')), ] in myapp: edit models.py to create models edit urls.py to add a line for each view in views.py in mysite: python3 manage.py makemigrations python3 manage.py migrate in myapp: edit admin.py to add, e.g.: from .models import Post admin.site.register(Post) add views to views.py, one for each thing you want it to do. in templates: create templates needed for the views you want, including base.html and home.html in templates/registration: create login.html