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.3.tar.gz (838.0 kB view details)

Uploaded Source

Built Distribution

react_pages-0.0.3-py2.py3-none-any.whl (7.3 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: react-pages-0.0.3.tar.gz
  • Upload date:
  • Size: 838.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for react-pages-0.0.3.tar.gz
Algorithm Hash digest
SHA256 2412cfdba3038c54aae8da4f0aa55deb72ec0568daf475658cf246313ba5ed24
MD5 f2b63c5063a79c4d59bd28b52a0d8a07
BLAKE2b-256 37ee2ab4ceb4c526a0cedc92be628b6cd5c3814a2ef38a9f3ea072fc06fd1536

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for react_pages-0.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bd742340abcf98861c87c5ae2fa80510dc65822805bab5b4e63ec62057af4bf1
MD5 82a56976d17f016db7f4665263ee0b93
BLAKE2b-256 f926577d18401091fccc4531137d6ea3290ffed7362710f295f920b5e5f86e23

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