Will Vincent 56aa62e0e2 Merge pull request #147 from mavhungutrezzy/patch-1 | 2 weeks ago | |
---|---|---|
accounts | 2 weeks ago | |
django_project | 8 months ago | |
pages | 2 years ago | |
static | 4 years ago | |
templates | 5 months ago | |
.gitignore | 1 year ago | |
CONTRIBUTING.md | 4 years ago | |
Dockerfile | 8 months ago | |
LICENSE | 4 years ago | |
README.md | 2 weeks ago | |
docker-compose.yml | 2 months ago | |
logo.png | 5 years ago | |
manage.py | 2 years ago | |
requirements.txt | 1 month ago |
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/wsvincent/djangox/assets/766418/a73ea730-a7b4-4e53-bf51-aa68f6816d6a
Sign up for updates to the free and upcoming premium SaaS version!
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
You can use pip to create a fresh virtual environment on either Windows or macOS.
# On Windows
$ python -m venv .venv
$ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
$ .venv\Scripts\Activate.ps1
(.venv) $
# On macOS
$ python -m venv .venv
$ source .venv/bin/activate
(.venv) $
Then install all packages hosted in requirements.txt
and 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.
(.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
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
django-allauth
supports social authentication if you need that.I cover all of these steps in tutorials and premium courses over at LearnDjango.com.
Contributions, issues and feature requests are welcome! See CONTRIBUTING.md.
Give a ⭐️ if this project helped you!