Skip to main content

A magical fullstack framework for Django.

Project description

django-unicorn

The magical fullstack framework for Django. ✨

django-unicorn provides a way to use backend Django code and regular Django templates to create interactive experiences without investing in a separate frontend framework.

Why?

Building server-side sites in Django with the ORM and template engine is so pleasant, but once you need more interactivity on the frontend, there is a lot more ambiguity. Should you build out an entire API in Django REST framework? Should you use React or Vue.js (or some) other frontend framework?

It seems like there should be an easier way to create interactive experiences.

Demo

https://github.com/adamghill/django-unicorn/blob/master/demo.mp4

Install

  1. git clone git@github.com:adamghill/django-unicorn.git
  2. pip install -e ../django-unicorn
  3. Add django-unicorn and unicorn to INSTALL_APPS in your Django settings file
  4. Add path("unicorn/", include("django_unicorn.urls")), into your project's urlpatterns in urls.py
  5. Add {% load unicorn %} to the top of your base template file
  6. Add {% unicorn_styles %} and {% unicorn_scripts %} into your base HTML file

How to create a component

  1. python manage.py startunicorn hello-world
  2. Add {% unicorn 'hello-world' %} into the template you want to load the new hello-world component
  3. Take a look at HelloWorld class and hello-world.html template and update based on the example project

Current functionality

  • unicorn_styles, unicorn_scripts, unicorn template tags
  • Base component class
  • Handles text input, checkbox, select options, select multiple options

Developing

  1. git clone git@github.com:adamghill/django-unicorn.git
  2. poetry install
  3. poetry run example/manage.py migrate
  4. poetry run example/manage.py runserver 0:8000
  5. Go to localhost:8000 in your browser
  6. To install in another project pip install -e some_folder/django-unicorn and follow install instructions above

Minify Javascript

  1. npm install
  2. npm run-script build

Bump version

  1. npm run-script build
  2. Move django_unicorn/static/js/unicorn.min.js to appropriate folder for new version
  3. poetry version major|minor|patch
  4. poetry publish --build

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-unicorn-0.1.1.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_unicorn-0.1.1-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file django-unicorn-0.1.1.tar.gz.

File metadata

  • Download URL: django-unicorn-0.1.1.tar.gz
  • Upload date:
  • Size: 30.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.6.6 Darwin/19.6.0

File hashes

Hashes for django-unicorn-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2d385ea718a28e6c9a230a6649b6b0a15ddd330f40c33c8faa5ffeb14b9903cd
MD5 6a56c77e2481306347485dcadffe05b1
BLAKE2b-256 b7c6719432948d34d29b104cf006f125551f3e597f8a657d33849e0d134db910

See more details on using hashes here.

File details

Details for the file django_unicorn-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: django_unicorn-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.6.6 Darwin/19.6.0

File hashes

Hashes for django_unicorn-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 440734d0c06f1a4cfd190d204e40c3a575a706543d8230b4f8b4b733276fcda4
MD5 4dd8086d8ead1a5f2a24937cb0df8871
BLAKE2b-256 4983b7df5493ba58d397138226eb85f6e1a4f1fe7d2c6975a865cb77a6a8ee3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page