Skip to main content

A zero-fuss way to create non single page apps with react.

Project description

React Pages

A zero-fuss solution for using React for non-SPAs, django and other non-node environments.
  • Zero Configuration required.
  • Go from development to production with ease.
  • Automatically install node using nvm.
  • Natively use react in django/flask.

Terminology

Project

The project contains the node.js modules necessary to use react, some other js files, required by react pages itself and the pages you add.

└── project
    ├── package.json
    └── package-lock.json

Page:

A page is a directory containing at least an index.js file, (and probably other css/js files specific to your application.)

└── page
    ├── App.css
    ├── App.js
    ├── App.test.js
    ├── index.css
    ├── index.js
    ├── logo.svg
    └── registerServiceWorker.js

QuickStart

$ react-pages project poll_react_pages # create a project

$ cd poll_react_pages

$ react-pages page vote # create a page

$ react-pages develop # development

$ react-pages deploy # production

Django Integration

settings.py

INSTALLED_APPS = [
    ...
    'react_pages_django',
    ...
]

# Assuming your React Pages project is at BASE_DIR,
REACT_PAGES_PROJECT_DIR = os.path.join(BASE_DIR, 'poll_react_pages')

template.html

{% load react_pages %}
...
{% render_react_page 'vote' %}
...

That's it! React Pages will pick-up the "vote" page from "poll_react_pages" project and do the nessecary work to transpile react code.

Django Context

You can pass django template context varialbes like so -

views.py context['foo'] = [1, 2, 3]

template.html {% render_react_page 'vote' foo=foo %}

Then access these anywhere in react code console.log(foo);

Note: These must be JSON serialize-able

For production, just put DEBUG=False in settings.py and relax.

Project details


Download files

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

Source Distribution

react-pages-0.0.5.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

react_pages-0.0.5-py2.py3-none-any.whl (847.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file react-pages-0.0.5.tar.gz.

File metadata

  • Download URL: react-pages-0.0.5.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for react-pages-0.0.5.tar.gz
Algorithm Hash digest
SHA256 48ede3733b6f4d69cedf225a5a8b179061e359dee1bbc67acc7288d09bbba4f3
MD5 a5763c3f20c68a40c8610d23828df60d
BLAKE2b-256 1607f2a78a6138d3d51681038a732457b595886c84737eb1eabb23da43c68c97

See more details on using hashes here.

File details

Details for the file react_pages-0.0.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for react_pages-0.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 34a84aae94737bc2420e1d940e388cffe80967298811f5944a71595c936deeb3
MD5 301f1ebfe1e51aa5e4bc660908a043d0
BLAKE2b-256 093ebba4ee720612192852e488427f25095c629c08917267f3b7a7cefdd3bc86

See more details on using hashes here.

Supported by

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