Brak opisu

dependabot[bot] 052fc72ab9 Bump django from 5.1.2 to 5.1.7 3 tygodni temu
accounts cf7c0f0898 update custom user model to use AdminUserCreationForm 1 miesiąc temu
django_project 8b64a5a09d add CSRF_TRUSTED_ORIGINS 1 miesiąc temu
pages 59a5474068 doublequotes not singlequotes per Black 2 lat temu
static 3daa6cc7a2 update screencast video, switch branding to Lithium 1 miesiąc temu
templates 3daa6cc7a2 update screencast video, switch branding to Lithium 1 miesiąc temu
.dockerignore efe11139ca feat(docker): make use of uv for Docker build 4 miesięcy temu
.gitignore 11d643de1c updated screencast 1 miesiąc temu
CONTRIBUTING.md 3daa6cc7a2 update screencast video, switch branding to Lithium 1 miesiąc temu
Dockerfile efe11139ca feat(docker): make use of uv for Docker build 4 miesięcy temu
LICENSE 8cf726595a big update adding Docker, Pip, switch users app to accounts, updated Readme 4 lat temu
README.md 5e653ee358 add pip link to Readme 1 miesiąc temu
docker-compose.yml 094677b734 remove version from docker-compose.yml 7 miesięcy temu
logo.png 291cbdab8f add logo 5 lat temu
manage.py 59a5474068 doublequotes not singlequotes per Black 2 lat temu
pyproject.toml 90a1bf6444 fix(setup): depend on psycopg-binary everywhere 4 miesięcy temu
requirements.txt 052fc72ab9 Bump django from 5.1.2 to 5.1.7 3 tygodni temu
uv.lock 90a1bf6444 fix(setup): depend on psycopg-binary everywhere 4 miesięcy temu

README.md

Lithium: A Django-Powered Boilerplate

Lithium is a batteries-included Django starter project with everything you need to start coding, including user authentication, static files, default styling, debugging, DRY forms, custom error pages, and more.

This project was formerly known as DjangoX but was renamed to Lithium in November 2024.

https://github.com/user-attachments/assets/8698e9dd-1794-4f96-9c3f-85add17e330b

👋 Free Newsletter

Sign up for updates to the free and upcoming premium SaaS version!

🚀 Features

Table of Contents

📖 Installation

Lithium can be installed via Pip or Docker. To start, clone the repo to your local computer and change into the proper directory.

$ git clone https://github.com/wsvincent/lithium.git
$ cd lithium

uv

You can use uv to create a dedicated virtual environment.

$ uv sync

Then run migrate to configure the initial database. The command createsuperuser will create a new superuser account for accessing the admin. Execute the runserver commandt o start up the local server.

$ uv run manage.py migrate
$ uv run manage.py createsuperuser
$ uv run manage.py runserver
# Load the site at http://127.0.0.1:8000 or http://127.0.0.1:8000/admin for the admin

Pip

To use Pip, create a new virtual environment and then install all packages hosted in requirements.txt. Run migrate to configure the initial database. and createsuperuser to create a new superuser account for accessing the admin. Execute the runserver commandt o start up the local server.

(.venv) $ pip install -r requirements.txt
(.venv) $ python manage.py migrate
(.venv) $ python manage.py createsuperuser
(.venv) $ python manage.py runserver
# Load the site at http://127.0.0.1:8000 or http://127.0.0.1:8000/admin for the admin

Docker

To use Docker with PostgreSQL as the database update the DATABASES section of django_project/settings.py to reflect the following:

# django_project/settings.py
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        "NAME": "postgres",
        "USER": "postgres",
        "PASSWORD": "postgres",
        "HOST": "db",  # set in docker-compose.yml
        "PORT": 5432,  # default postgres port
    }
}

The INTERNAL_IPS configuration in django_project/settings.py must be also be updated:

# config/settings.py
# django-debug-toolbar
import socket
hostname, _, ips = socket.gethostbyname_ex(socket.gethostname())
INTERNAL_IPS = [ip[:-1] + "1" for ip in ips]

And then proceed to build the Docker image, run the container, and execute the standard commands within Docker.

$ docker compose up -d --build
$ docker compose exec web python manage.py migrate
$ docker compose exec web python manage.py createsuperuser
# Load the site at http://127.0.0.1:8000 or http://127.0.0.1:8000/admin for the admin

Next Steps

I cover all of these steps in tutorials and premium courses over at LearnDjango.com.

🤝 Contributing

Contributions, issues and feature requests are welcome! See CONTRIBUTING.md.

⭐️ Support

Give a ⭐️ if this project helped you!

License

The MIT License