Control the web with Python
Project description
Django-IDOM ·
Django-IDOM connects your Python project to a ReactJS front-end, allowing you to create interactive websites without needing JavaScript!
Following ReactJS styling, web elements are combined into reusable "components". These components can utilize hooks and events to create infinitely complex web pages.
When needed, IDOM can use components directly from NPM. For additional flexibility, components can also be fully developed in JavaScript.
Any Python web framework with Websockets can support IDOM. See below for what frameworks are supported out of the box.
Supported Frameworks | Supported Frameworks (External) |
---|---|
Flask , FastAPI , Sanic , Tornado |
Django , Plotly-Dash , Jupyter |
At a Glance
my_app/components.py
You will need a file to define your IDOM components. We recommend creating a components.py
file within your chosen Django app to start out. Within this file, we will create a simple hello_world
component.
from idom import component, html
@component
def hello_world(recipient: str):
return html.h1(f"Hello {recipient}!")
my_app/templates/my-template.html
In your Django app's HTML template, you can now embed your IDOM component using the component
template tag. Within this tag, you will need to type in your dotted path to the component function as the first argument.
Additionally, you can pass in args
and kwargs
into your component function. For example, after reading the code below, pay attention to how the function definition for hello_world
(in the previous example) accepts a recipient
argument.
{% load idom %}
<!DOCTYPE html>
<html>
<body>
{% component "example_project.my_app.components.hello_world" recipient="World" %}
</body>
</html>
Resources
Follow the links below to find out more about this project.
- Try it Now - Check out IDOM in a Jupyter Notebook.
- Documentation - Learn how to install, run, and use IDOM.
- Community Forum - Ask questions, share ideas, and show off projects.
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
Built Distribution
File details
Details for the file django_idom-3.0.0.tar.gz
.
File metadata
- Download URL: django_idom-3.0.0.tar.gz
- Upload date:
- Size: 74.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d36d4e90d9af7fb1340c15509c9cbe937db66688fa0f0f29e7661dc602c9835 |
|
MD5 | 01f95266dedfb149438be33eaa7e3f1c |
|
BLAKE2b-256 | 0a73e7f056d16e60b2b7efd9f0677941a2c7d2e2ce90d0aaa889b341576f0068 |
File details
Details for the file django_idom-3.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: django_idom-3.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 76.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87581858a905ed42cdf22b623a094aba4da1e8e054d95c1a0ef0abc565b95340 |
|
MD5 | d27c3e711a2b4f4e803c8d0ef9fda929 |
|
BLAKE2b-256 | 18fe5e631f76fab06fe0cf16764ba174caf8d3b4ed2f91f4509ba616bae6bb93 |