django-htmx-alpine
django-htmx-alpine copied to clipboard
A sandbox for using Django with HTMX and Alpine.JS
django-htmx-alpine
This project is just a basic todo list.
However, it is made using a combination of Django, Alpine.JS and HTMX, and shows how you can get the reactivity of a frontend JS framework without sacrificing the benefits of your server-side framework (Session authentication, templating, etc).
A live demo can be seen here.
Setup Instructions
-
Create a virtualenv and install the required dependencies
- Using Poetry (recommended):
- Create a virtualenv and install the required dependencies
- Dev/Testing environment:
poetry install - Production environment:
poetry install --no-dev
- Dev/Testing environment:
- Activate the virtualenv
poetry shell
- Create a virtualenv and install the required dependencies
- Using virtualenvwrapper:
- Create a new virtualenv
mkvirtualenv django-htmx-alpine
- Activate the virtualenv
workon django-htmx-alpine-or-source ~/[your_virtualenv_dir]/bin/activate
- From the project's root folder (
django_htmx_alpine), install the required dependenciespip install -r requirements.txt
- Create a new virtualenv
- Running tests
- From the project's root folder, run
npm install. - To run unit tests, run
npm run jest. - To run e2e tests, run
npm run cypress.
- From the project's root folder, run
- Using Poetry (recommended):
-
(optional) You can generate a new secret key from the Django shell (
manage.py shell) and set it as theSECRET_KEYinsettings.py:from django.core.management import utils print(utils.get_random_secret_key()) -
Run
manage.py migrateto generate a database. -
Run
manage.py runserverto start the development server -
If you want the HTMX weather demo to work, update
settings.WEATHER_API_KEYwith an API key from OpenWeather using the 'Current Weather Data' API.