django-components/sampleproject
Juro Oravec 841dd77e91
refactor: Fix template caching, expose cached_template, Component.template API changes (#647)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-06 22:40:39 +02:00
..
calendarapp Replace all instances of component_block with component. Remove duplicate tests. 2024-02-21 22:38:06 +01:00
components refactor: Fix template caching, expose cached_template, Component.template API changes (#647) 2024-09-06 22:40:39 +02:00
sampleproject refactor: usage notes + tests for safer_staticfiles (#538) 2024-07-08 07:25:03 +02:00
.gitignore refactor: usage notes + tests for safer_staticfiles (#538) 2024-07-08 07:25:03 +02:00
manage.py Introduce a sample project to illustrate setup. 2022-07-17 09:29:15 +02:00
README.md refactor: usage notes + tests for safer_staticfiles (#538) 2024-07-08 07:25:03 +02:00
requirements.txt refactor: usage notes + tests for safer_staticfiles (#538) 2024-07-08 07:25:03 +02:00

Sample Django project with django_components

Installation

  1. Prepare virtual environment:

    python -m venv .venv
    source .venv/bin/activate
    
  2. Install dependencies:

    pip install -r requirements.txt
    

Development server

python manage.py runserver

The app will be available at http://localhost:8000/.

Serving static files

Assuming that you're running the dev server with DEBUG=True setting, ALL static files (JS/CSS/HTML/PY) will be accessible under the /static/ URL path.

Production server

  1. Prepare static files

    python manage.py collectstatic
    
  2. Set DEBUG = False in settings.py.

  3. Start server with gunicorn

    gunicorn sampleproject.wsgi:application
    

The app will be available at http://localhost:8000/.

Serving static files

This project uses WhiteNoise to configure Django to serve static files even for production environment.

Assuming that you're running the prod server with:

  1. DEBUG = False setting
  2. "django_components.safer_staticfiles" in the INSTALLED_APPS

Then Django will server only JS and CSS files under the /static/ URL path.

You can verify that this is true by starting the prod server and then navigating to: